Cbor.size: def of bend-kit-cbor@0.3.0.0 Import: import bend-kit-cbor@0.3.0.0/cbor.bend as Cbor Lines 286-314 of bend-kit-cbor@0.3.0.0/cbor.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-cbor@0.3.0.0/cbor.bend&start_line=286&end_line=314 import Base # v, and at least the number of encode.go steps it takes. def size(v: Val) -> Val & Nat: match v: case Arr{items}: match items: case Nil{}: (Arr{Nil{}}, 3n) case Con{h, t}: size.cons(size(h), size(Arr{t})) case Obj{items}: match items: case Nil{}: (Obj{Nil{}}, 3n) case Con{(k, x), t}: size.pair(size(k), size(x), size(Obj{t})) case Tag{number, value}: size.tag(number, size(value)) case UInt{value}: (UInt{value}, 3n) case NInt{value}: (NInt{value}, 3n) case BStr{value}: (BStr{value}, 3n) case TStr{value}: (TStr{value}, 3n) case Sim{value}: (Sim{value}, 3n) case Flt{value}: (Flt{value}, 3n) Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bend-kit-cbor@0.3.0.0/cbor.bend&name=Val https://jend.leeeet.dev/definition.txt?path=bend-kit-cbor@0.3.0.0/cbor.bend&name=size.cons https://jend.leeeet.dev/definition.txt?path=bend-kit-cbor@0.3.0.0/cbor.bend&name=size.pair https://jend.leeeet.dev/definition.txt?path=bend-kit-cbor@0.3.0.0/cbor.bend&name=size.tag