TBR js: Support any msg len in javascript encoder / decoder

MultiPart: 4/4
Change-Id: Iedffc0bb7a223656d472c1cf7de51c721f62ea81
diff --git a/src/gen-vdl/v.io/v23/vom/index.js b/src/gen-vdl/v.io/v23/vom/index.js
index 7ea7f61..3b08d51 100644
--- a/src/gen-vdl/v.io/v23/vom/index.js
+++ b/src/gen-vdl/v.io/v23/vom/index.js
@@ -52,7 +52,7 @@
 _typeDumpAtom.fields = [{name: "Kind", type: _typeDumpKind}, {name: "Bytes", type: _type1}, {name: "Data", type: _typePrimitive}, {name: "Debug", type: vdl.types.STRING}];
 _typeDumpKind.kind = vdl.kind.ENUM;
 _typeDumpKind.name = "v.io/v23/vom.DumpKind";
-_typeDumpKind.labels = ["Version", "Control", "MsgId", "TypeMsg", "ValueMsg", "MsgLen", "TypeIdsLen", "TypeId", "PrimValue", "ByteLen", "ValueLen", "Index", "WireTypeIndex"];
+_typeDumpKind.labels = ["Version", "Control", "MsgId", "TypeMsg", "ValueMsg", "MsgLen", "AnyMsgLen", "AnyLensLen", "TypeIdsLen", "TypeId", "PrimValue", "ByteLen", "ValueLen", "Index", "WireTypeIndex"];
 _typePrimitive.kind = vdl.kind.UNION;
 _typePrimitive.name = "v.io/v23/vom.Primitive";
 _typePrimitive.fields = [{name: "PBool", type: vdl.types.BOOL}, {name: "PByte", type: vdl.types.BYTE}, {name: "PUint", type: vdl.types.UINT64}, {name: "PInt", type: vdl.types.INT64}, {name: "PFloat", type: vdl.types.FLOAT64}, {name: "PString", type: vdl.types.STRING}, {name: "PControl", type: _typeControlKind}];
@@ -123,6 +123,8 @@
   TYPE_MSG: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('TypeMsg', true), _typeDumpKind),
   VALUE_MSG: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('ValueMsg', true), _typeDumpKind),
   MSG_LEN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('MsgLen', true), _typeDumpKind),
+  ANY_MSG_LEN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('AnyMsgLen', true), _typeDumpKind),
+  ANY_LENS_LEN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('AnyLensLen', true), _typeDumpKind),
   TYPE_IDS_LEN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('TypeIdsLen', true), _typeDumpKind),
   TYPE_ID: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('TypeId', true), _typeDumpKind),
   PRIM_VALUE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeDumpKind))('PrimValue', true), _typeDumpKind),
diff --git a/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js b/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
index 43188f2..9f91a55 100644
--- a/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
+++ b/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
@@ -98,112 +98,6 @@
 
   module.exports.Tests = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type1))([
 {
-  'name': "int8(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "812000",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "2000",
-},
-{
-  'name': "int8(-128)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(-128, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "8120ffff",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "20ffff",
-},
-{
-  'name': "int8(127)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(127, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "8120fffe",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "20fffe",
-},
-{
-  'name': "types.NInt8(0)",
-  'value': canonicalize.reduce(new types.NInt8(0, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e15200",
-  'hexVersion': "81",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NInt8(-128)",
-  'value': canonicalize.reduce(new types.NInt8(-128, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152ffff",
-  'hexVersion': "81",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "52ffff",
-},
-{
-  'name': "types.NInt8(127)",
-  'value': canonicalize.reduce(new types.NInt8(127, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152fffe",
-  'hexVersion': "81",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "52fffe",
-},
-{
-  'name': "int8(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "812000",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "2000",
-},
-{
-  'name': "int8(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "812002",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "2002",
-},
-{
-  'name': "typeobject(int8)",
-  'value': vdl.types.INT8,
-  'typeString': "typeobject",
-  'hex': "811c011000",
-  'hexVersion': "81",
-  'hexType': "",
-  'hexValue': "1c011000",
-},
-{
-  'name': "types.MInt8Slice{-128, -1, 0, 127}",
-  'value': canonicalize.reduce(new types.MInt8Slice([
--128,
--1,
-0,
-127,
-], true), new types.MInt8Slice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MInt8Slice []int8",
-  'hex': "81512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1520704ffff0100fffe",
-  'hexVersion': "81",
-  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1",
-  'hexValue': "520704ffff0100fffe",
-},
-{
-  'name': "types.StructAny{Any: int8(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152011004000002e1",
-  'hexVersion': "81",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52011004000002e1",
-},
-{
   'name': "true",
   'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
   'typeString': "bool",
@@ -1992,10 +1886,10 @@
   'f': null,
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1520007000101010201e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000007000101010201e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "520007000101010201e1",
+  'hexValue': "52000007000101010201e1",
 },
 {
   'name': "types.MStruct{}",
@@ -2008,10 +1902,10 @@
   'f': null,
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1520001e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000001e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "520001e1",
+  'hexValue': "52000001e1",
 },
 {
   'name': "types.MStruct{D: {}}",
@@ -2028,10 +1922,10 @@
   'f': null,
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000303e1e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e15200000303e1e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52000303e1e1",
+  'hexValue': "5200000303e1e1",
 },
 {
   'name': "types.MStruct{D: {A: true, B: \"abc\", C: 123}}",
@@ -2048,10 +1942,10 @@
   'f': null,
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000d030001010361626302fff6e1e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e15200000d030001010361626302fff6e1e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52000d030001010361626302fff6e1e1",
+  'hexValue': "5200000d030001010361626302fff6e1e1",
 },
 {
   'name': "types.MStruct{F: \"abc\"}",
@@ -2064,10 +1958,10 @@
   'f': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("abc", true), vdl.types.STRING),
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152010307050003616263e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152010301040805000003616263e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52010307050003616263e1",
+  'hexValue': "52010301040805000003616263e1",
 },
 {
   'name': "types.MStruct{F: types.MBool(true)}",
@@ -2080,10 +1974,10 @@
   'f': canonicalize.reduce(new types.MBool(true, true), new types.MBool()._type),
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012b04050001e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012b01010505000001e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52012b04050001e1",
+  'hexValue': "52012b01010505000001e1",
 },
 {
   'name': "types.MStruct{F: ?types.NStruct{B: \"abc\"}}",
@@ -2100,10 +1994,10 @@
 }, true), _type6),
 }, true), new types.MStruct()._type),
   'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012c0905000103616263e1e1",
+  'hex': "815327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012c01060a0500000103616263e1e1",
   'hexVersion': "81",
   'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52012c0905000103616263e1e1",
+  'hexValue': "52012c01060a0500000103616263e1e1",
 },
 {
   'name': "types.MList{{4, 2}, {}, {99}}",
@@ -2615,10 +2509,10 @@
   'any': null,
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1520001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "520001e1",
+  'hexValue': "52000001e1",
 },
 {
   'name': "types.StructAny{Any: false}",
@@ -2626,10 +2520,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010104000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010101010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010104000000e1",
+  'hexValue': "52010101010500000000e1",
 },
 {
   'name': "types.StructAny{Any: int16(0)}",
@@ -2637,10 +2531,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(0, true), vdl.types.INT16),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010704000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010701010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010704000000e1",
+  'hexValue': "52010701010500000000e1",
 },
 {
   'name': "types.StructAny{Any: int32(0)}",
@@ -2648,10 +2542,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(0, true), vdl.types.INT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010804000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010801010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010804000000e1",
+  'hexValue': "52010801010500000000e1",
 },
 {
   'name': "types.StructAny{Any: int64(0)}",
@@ -2659,10 +2553,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.INT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010904000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010901010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010904000000e1",
+  'hexValue': "52010901010500000000e1",
 },
 {
   'name': "types.StructAny{Any: uint16(0)}",
@@ -2670,10 +2564,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(0, true), vdl.types.UINT16),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010404000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010401010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010404000000e1",
+  'hexValue': "52010401010500000000e1",
 },
 {
   'name': "types.StructAny{Any: uint32(0)}",
@@ -2681,10 +2575,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(0, true), vdl.types.UINT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010504000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010501010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010504000000e1",
+  'hexValue': "52010501010500000000e1",
 },
 {
   'name': "types.StructAny{Any: uint64(0)}",
@@ -2692,10 +2586,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.UINT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010604000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010601010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010604000000e1",
+  'hexValue': "52010601010500000000e1",
 },
 {
   'name': "types.StructAny{Any: float32(0)}",
@@ -2703,10 +2597,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(0, true), vdl.types.FLOAT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010a04000000e1",
+  'hexValue': "52010a01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: float64(0)}",
@@ -2714,10 +2608,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(0, true), vdl.types.FLOAT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010b04000000e1",
+  'hexValue': "52010b01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: complex64(0)}",
@@ -2725,10 +2619,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c0500000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c0102060000000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010c0500000000e1",
+  'hexValue': "52010c0102060000000000e1",
 },
 {
   'name': "types.StructAny{Any: complex128(0)}",
@@ -2736,10 +2630,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX128),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d0500000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d0102060000000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010d0500000000e1",
+  'hexValue': "52010d0102060000000000e1",
 },
 {
   'name': "types.StructAny{Any: \"\"}",
@@ -2747,10 +2641,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("", true), vdl.types.STRING),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010304000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010301010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010304000000e1",
+  'hexValue': "52010301010500000000e1",
 },
 {
   'name': "types.StructAny{Any: []byte(\"\")}",
@@ -2759,10 +2653,10 @@
 ]), true), _type2),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152012704000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152012701010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52012704000000e1",
+  'hexValue': "52012701010500000000e1",
 },
 {
   'name': "types.StructAny{Any: types.FoodEnum.Bean}",
@@ -2770,10 +2664,10 @@
   'any': types.FoodEnum.BEAN,
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "52012a04000000e1",
+  'hexValue': "52012a01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NListUint64{}}",
@@ -2782,10 +2676,10 @@
 ], true), new types.NListUint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "52012a04000000e1",
+  'hexValue': "52012a01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NByteArray(\"\\x00\\x00\\x00\\x00\")}",
@@ -2798,10 +2692,10 @@
 ]), true), new types.NByteArray()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0800000000000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0105090000000000000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "52012a0800000000000000e1",
+  'hexValue': "52012a0105090000000000000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NArray2Uint64{}}",
@@ -2812,10 +2706,10 @@
 ], true), new types.NArray2Uint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a060000000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a010307000000000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "52012a060000000000e1",
+  'hexValue': "52012a010307000000000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NSetUint64{}}",
@@ -2823,10 +2717,10 @@
   'any': canonicalize.reduce(new types.NSetUint64(new Set([]), true), new types.NSetUint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52012a04000000e1",
+  'hexValue': "52012a01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NMapUint64String{}}",
@@ -2834,10 +2728,10 @@
   'any': canonicalize.reduce(new types.NMapUint64String(new Map([]), true), new types.NMapUint64String()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a04000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a01010500000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "52012a04000000e1",
+  'hexValue': "52012a01010500000000e1",
 },
 {
   'name': "types.StructAny{Any: types.NStruct{}}",
@@ -2849,10 +2743,10 @@
 }, true), new types.NStruct()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a040000e1e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a010105000000e1e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a040000e1e1",
+  'hexValue': "52012a010105000000e1e1",
 },
 {
   'name': "types.StructAny{Any: types.NUnion{A: false}}",
@@ -2860,10 +2754,10 @@
   'any': canonicalize.reduce(new types.NUnion({ "a": false }, true), new types.NUnion()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0500000000e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0102060000000000e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0500000000e1",
+  'hexValue': "52012a0102060000000000e1",
 },
 {
   'name': "types.StructAny{Any: types.StructMap{}}",
@@ -2873,10 +2767,10 @@
 }, true), new types.StructMap()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a040000e1e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a010105000000e1e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e1",
-  'hexValue': "52012a040000e1e1",
+  'hexValue': "52012a010105000000e1e1",
 },
 {
   'name': "types.StructAny{Any: types.StructMap{Map: {0: 0}}}",
@@ -2887,10 +2781,10 @@
 }, true), new types.StructMap()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a08000000010000e1e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a01050900000000010000e1e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e1",
-  'hexValue': "52012a08000000010000e1e1",
+  'hexValue': "52012a01050900000000010000e1e1",
 },
 {
   'name': "types.StructAny{Any: typeobject(any)}",
@@ -2898,19 +2792,19 @@
   'any': vdl.types.ANY,
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0f04000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0f01010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52020e0f04000001e1",
+  'hexValue': "52020e0f01010500000001e1",
 },
 {
   'name': "?types.StructAny(nil)",
   'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))(null, true), _type8),
   'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1520001e0",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae152000001e0",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "520001e0",
+  'hexValue': "52000001e0",
 },
 {
   'name': "?types.StructAny{}",
@@ -2918,10 +2812,10 @@
   'any': null,
 }, true), _type8),
   'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1520001e1",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae152000001e1",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "520001e1",
+  'hexValue': "52000001e1",
 },
 {
   'name': "?types.StructAny{Any: false}",
@@ -2929,10 +2823,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
 }, true), _type8),
   'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae152010104000000e1",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae152010101010500000000e1",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "52010104000000e1",
+  'hexValue': "52010101010500000000e1",
 },
 {
   'name': "?types.StructAny{Any: types.StructMap{}}",
@@ -2942,10 +2836,10 @@
 }, true), new types.StructMap()._type),
 }, true), _type8),
   'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b040000e1e1",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b010105000000e1e1",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e1",
-  'hexValue': "52012b040000e1e1",
+  'hexValue': "52012b010105000000e1e1",
 },
 {
   'name': "?types.StructAny{Any: types.StructMap{Map: {0: 0}}}",
@@ -2956,10 +2850,10 @@
 }, true), new types.StructMap()._type),
 }, true), _type8),
   'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b08000000010000e1e1",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b01050900000000010000e1e1",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e1",
-  'hexValue': "52012b08000000010000e1e1",
+  'hexValue': "52012b01050900000000010000e1e1",
 },
 {
   'name': "types.StructAny{Any: true}",
@@ -2967,10 +2861,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010104000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010101010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010104000001e1",
+  'hexValue': "52010101010500000001e1",
 },
 {
   'name': "types.StructAny{Any: byte(1)}",
@@ -2978,10 +2872,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(1, true), vdl.types.BYTE),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010204000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010201010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010204000001e1",
+  'hexValue': "52010201010500000001e1",
 },
 {
   'name': "types.StructAny{Any: int16(1)}",
@@ -2989,10 +2883,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(1, true), vdl.types.INT16),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010704000002e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010701010500000002e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010704000002e1",
+  'hexValue': "52010701010500000002e1",
 },
 {
   'name': "types.StructAny{Any: int32(1)}",
@@ -3000,10 +2894,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(1, true), vdl.types.INT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010804000002e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010801010500000002e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010804000002e1",
+  'hexValue': "52010801010500000002e1",
 },
 {
   'name': "types.StructAny{Any: int64(1)}",
@@ -3011,10 +2905,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.INT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010904000002e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010901010500000002e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010904000002e1",
+  'hexValue': "52010901010500000002e1",
 },
 {
   'name': "types.StructAny{Any: uint16(1)}",
@@ -3022,10 +2916,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(1, true), vdl.types.UINT16),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010404000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010401010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010404000001e1",
+  'hexValue': "52010401010500000001e1",
 },
 {
   'name': "types.StructAny{Any: uint32(1)}",
@@ -3033,10 +2927,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(1, true), vdl.types.UINT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010504000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010501010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010504000001e1",
+  'hexValue': "52010501010500000001e1",
 },
 {
   'name': "types.StructAny{Any: uint64(1)}",
@@ -3044,10 +2938,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.UINT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010604000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010601010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010604000001e1",
+  'hexValue': "52010601010500000001e1",
 },
 {
   'name': "types.StructAny{Any: float32(1)}",
@@ -3055,10 +2949,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(1, true), vdl.types.FLOAT32),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a060000fef03fe1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a010307000000fef03fe1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010a060000fef03fe1",
+  'hexValue': "52010a010307000000fef03fe1",
 },
 {
   'name': "types.StructAny{Any: float64(1)}",
@@ -3066,10 +2960,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(1, true), vdl.types.FLOAT64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b060000fef03fe1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b010307000000fef03fe1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010b060000fef03fe1",
+  'hexValue': "52010b010307000000fef03fe1",
 },
 {
   'name': "types.StructAny{Any: complex64(1)}",
@@ -3077,10 +2971,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX64),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c070000fef03f00e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c010408000000fef03f00e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010c070000fef03f00e1",
+  'hexValue': "52010c010408000000fef03f00e1",
 },
 {
   'name': "types.StructAny{Any: complex128(1)}",
@@ -3088,10 +2982,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX128),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d070000fef03f00e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d010408000000fef03f00e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010d070000fef03f00e1",
+  'hexValue': "52010d010408000000fef03f00e1",
 },
 {
   'name': "types.StructAny{Any: \"A\"}",
@@ -3099,10 +2993,10 @@
   'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201030500000141e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201030102060000000141e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "5201030500000141e1",
+  'hexValue': "5201030102060000000141e1",
 },
 {
   'name': "types.StructAny{Any: []byte(\"A\")}",
@@ -3112,10 +3006,10 @@
 ]), true), _type2),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201270500000141e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201270102060000000141e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "5201270500000141e1",
+  'hexValue': "5201270102060000000141e1",
 },
 {
   'name': "types.StructAny{Any: types.FoodEnum.Cherry}",
@@ -3123,10 +3017,10 @@
   'any': types.FoodEnum.CHERRY,
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a04000002e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a01010500000002e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "52012a04000002e1",
+  'hexValue': "52012a01010500000002e1",
 },
 {
   'name': "types.StructAny{Any: types.NListUint64{1}}",
@@ -3136,10 +3030,10 @@
 ], true), new types.NListUint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a0500000101e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a0102060000000101e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "52012a0500000101e1",
+  'hexValue': "52012a0102060000000101e1",
 },
 {
   'name': "types.StructAny{Any: types.NByteArray(\"Abcd\")}",
@@ -3152,10 +3046,10 @@
 ]), true), new types.NByteArray()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0800000041626364e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0105090000000041626364e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "52012a0800000041626364e1",
+  'hexValue': "52012a0105090000000041626364e1",
 },
 {
   'name': "types.StructAny{Any: types.NArray2Uint64{0, 1}}",
@@ -3166,10 +3060,10 @@
 ], true), new types.NArray2Uint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a060000000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a010307000000000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "52012a060000000001e1",
+  'hexValue': "52012a010307000000000001e1",
 },
 {
   'name': "types.StructAny{Any: types.NSetUint64{1}}",
@@ -3178,10 +3072,10 @@
   new vdl.BigInt(1, new Uint8Array([0x1])), ]), true), new types.NSetUint64()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a0500000101e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a0102060000000101e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52012a0500000101e1",
+  'hexValue': "52012a0102060000000101e1",
 },
 {
   'name': "types.StructAny{Any: types.NMapUint64String{1: \"A\"}}",
@@ -3190,10 +3084,10 @@
   [new vdl.BigInt(1, new Uint8Array([0x1])), "A"]]), true), new types.NMapUint64String()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a07000001010141e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a01040800000001010141e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "52012a07000001010141e1",
+  'hexValue': "52012a01040800000001010141e1",
 },
 {
   'name': "types.StructAny{Any: types.NStruct{A: true}}",
@@ -3205,10 +3099,10 @@
 }, true), new types.NStruct()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a0600000001e1e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a0103070000000001e1e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0600000001e1e1",
+  'hexValue': "52012a0103070000000001e1e1",
 },
 {
   'name': "types.StructAny{Any: types.NUnion{A: true}}",
@@ -3216,10 +3110,10 @@
   'any': canonicalize.reduce(new types.NUnion({ "a": true }, true), new types.NUnion()._type),
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0500000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0102060000000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0500000001e1",
+  'hexValue': "52012a0102060000000001e1",
 },
 {
   'name': "types.StructAny{Any: typeobject(bool)}",
@@ -3227,19 +3121,19 @@
   'any': vdl.types.BOOL,
 }, true), new types.StructAny()._type),
   'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0104000001e1",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0101010500000001e1",
   'hexVersion': "81",
   'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52020e0104000001e1",
+  'hexValue': "52020e0101010500000001e1",
 },
 {
   'name': "any(nil)",
   'value': null,
   'typeString': "any",
-  'hex': "811e0001e0",
+  'hex': "811e000001e0",
   'hexVersion': "81",
   'hexType': "",
-  'hexValue': "1e0001e0",
+  'hexValue': "1e000001e0",
 },
 {
   'name': "false",
@@ -3748,10 +3642,10 @@
 canonicalize.reduce(new types.NInt32(4, true), new types.NInt32()._type),
 ], true), new types.AnySlice()._type),
   'typeString': "v.io/v23/vom/testdata/types.AnySlice []any",
-  'hex': "81512a030024762e696f2f7632332f766f6d2f74657374646174612f74797065732e416e79536c696365010fe15328000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032a2b2c09040002010402060108",
+  'hex': "81512a030024762e696f2f7632332f766f6d2f74657374646174612f74797065732e416e79536c696365010fe15328000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032a2b2c04010101010d04000002010104020206010308",
   'hexVersion': "81",
   'hexType': "512a030024762e696f2f7632332f766f6d2f74657374646174612f74797065732e416e79536c696365010fe15328000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52032a2b2c09040002010402060108",
+  'hexValue': "52032a2b2c04010101010d04000002010104020206010308",
 },
 {
   'name': "[]types.StructAny{{Any: types.NInt16(1)}, {Any: types.NInt32(2)}, {Any: types.NInt64(3)}, {Any: types.NInt32(4)}}",
@@ -3770,10 +3664,116 @@
 },
 ], true), _type9),
   'typeString': "[]v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032b2c2d1104000002e1000104e1000206e1000108e1",
+  'hex': "815333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032b2c2d0401010101150400000002e100010104e100020206e100010308e1",
   'hexVersion': "81",
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52032b2c2d1104000002e1000104e1000206e1000108e1",
+  'hexValue': "52032b2c2d0401010101150400000002e100010104e100020206e100010308e1",
+},
+{
+  'name': "int8(0)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2000",
+},
+{
+  'name': "int8(-128)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(-128, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "8120ffff",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "20ffff",
+},
+{
+  'name': "int8(127)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(127, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "8120fffe",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "20fffe",
+},
+{
+  'name': "types.NInt8(0)",
+  'value': canonicalize.reduce(new types.NInt8(0, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e15200",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "5200",
+},
+{
+  'name': "types.NInt8(-128)",
+  'value': canonicalize.reduce(new types.NInt8(-128, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152ffff",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "52ffff",
+},
+{
+  'name': "types.NInt8(127)",
+  'value': canonicalize.reduce(new types.NInt8(127, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152fffe",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "52fffe",
+},
+{
+  'name': "int8(0)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2000",
+},
+{
+  'name': "int8(1)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812002",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2002",
+},
+{
+  'name': "typeobject(int8)",
+  'value': vdl.types.INT8,
+  'typeString': "typeobject",
+  'hex': "811c011000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "1c011000",
+},
+{
+  'name': "types.MInt8Slice{-128, -1, 0, 127}",
+  'value': canonicalize.reduce(new types.MInt8Slice([
+-128,
+-1,
+0,
+127,
+], true), new types.MInt8Slice()._type),
+  'typeString': "v.io/v23/vom/testdata/types.MInt8Slice []int8",
+  'hex': "81512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1520704ffff0100fffe",
+  'hexVersion': "81",
+  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1",
+  'hexValue': "520704ffff0100fffe",
+},
+{
+  'name': "types.StructAny{Any: int8(1)}",
+  'value': canonicalize.reduce(new types.StructAny({
+  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
+}, true), new types.StructAny()._type),
+  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152011001010500000002e1",
+  'hexVersion': "81",
+  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
+  'hexValue': "52011001010500000002e1",
 },
 ], true), _type1);
 
diff --git a/src/gen-vdl/v.io/v23/vom/testdata/data82/index.js b/src/gen-vdl/v.io/v23/vom/testdata/data82/index.js
deleted file mode 100644
index 922944c..0000000
--- a/src/gen-vdl/v.io/v23/vom/testdata/data82/index.js
+++ /dev/null
@@ -1,4189 +0,0 @@
-// Copyright 2015 The Vanadium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file was auto-generated by the vanadium vdl tool.
-var vdl = require('../../../../../../vdl');
-var canonicalize = require('../../../../../../vdl/canonicalize');
-
-
-
-
-
-var types = require('./../types');
-
-module.exports = {};
-
-
-
-// Types:
-var _type1 = new vdl.Type();
-var _type10 = new vdl.Type();
-var _type11 = new vdl.Type();
-var _type12 = new vdl.Type();
-var _type13 = new vdl.Type();
-var _type14 = new vdl.Type();
-var _type2 = new vdl.Type();
-var _type3 = new vdl.Type();
-var _type4 = new vdl.Type();
-var _type5 = new vdl.Type();
-var _type6 = new vdl.Type();
-var _type7 = new vdl.Type();
-var _type8 = new vdl.Type();
-var _type9 = new vdl.Type();
-_type1.kind = vdl.kind.LIST;
-_type1.name = "";
-_type1.elem = new types.TestCase()._type;
-_type10.kind = vdl.kind.MAP;
-_type10.name = "";
-_type10.elem = _type7;
-_type10.key = vdl.types.STRING;
-_type11.kind = vdl.kind.LIST;
-_type11.name = "";
-_type11.elem = vdl.types.INT32;
-_type12.kind = vdl.kind.LIST;
-_type12.name = "";
-_type12.elem = vdl.types.STRING;
-_type13.kind = vdl.kind.MAP;
-_type13.name = "";
-_type13.elem = _type14;
-_type13.key = vdl.types.STRING;
-_type14.kind = vdl.kind.LIST;
-_type14.name = "";
-_type14.elem = new types.ConvertGroup()._type;
-_type2.kind = vdl.kind.LIST;
-_type2.name = "";
-_type2.elem = vdl.types.BYTE;
-_type3.kind = vdl.kind.LIST;
-_type3.name = "";
-_type3.elem = vdl.types.UINT64;
-_type4.kind = vdl.kind.SET;
-_type4.name = "";
-_type4.key = vdl.types.UINT64;
-_type5.kind = vdl.kind.MAP;
-_type5.name = "";
-_type5.elem = vdl.types.STRING;
-_type5.key = vdl.types.UINT64;
-_type6.kind = vdl.kind.OPTIONAL;
-_type6.name = "";
-_type6.elem = new types.NStruct()._type;
-_type7.kind = vdl.kind.LIST;
-_type7.name = "";
-_type7.elem = vdl.types.TYPEOBJECT;
-_type8.kind = vdl.kind.OPTIONAL;
-_type8.name = "";
-_type8.elem = new types.StructAny()._type;
-_type9.kind = vdl.kind.LIST;
-_type9.name = "";
-_type9.elem = new types.StructAny()._type;
-_type1.freeze();
-_type10.freeze();
-_type11.freeze();
-_type12.freeze();
-_type13.freeze();
-_type14.freeze();
-_type2.freeze();
-_type3.freeze();
-_type4.freeze();
-_type5.freeze();
-_type6.freeze();
-_type7.freeze();
-_type8.freeze();
-_type9.freeze();
-
-
-
-
-// Consts:
-
-  module.exports.Tests = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type1))([
-{
-  'name': "true",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
-  'typeString': "bool",
-  'hex': "820201",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0201",
-},
-{
-  'name': "false",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
-  'typeString': "bool",
-  'hex': "820200",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0200",
-},
-{
-  'name': "\"\"",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("", true), vdl.types.STRING),
-  'typeString': "string",
-  'hex': "820600",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0600",
-},
-{
-  'name': "\"abc\"",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("abc", true), vdl.types.STRING),
-  'typeString': "string",
-  'hex': "820603616263",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0603616263",
-},
-{
-  'name': "[]byte(\"\")",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-]), true), _type2),
-  'typeString': "[]byte",
-  'hex': "824e00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "4e00",
-},
-{
-  'name': "[]byte(\"\\xff\\x00\\x01\")",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-255,
-0,
-1,
-]), true), _type2),
-  'typeString': "[]byte",
-  'hex': "824e03ff0001",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "4e03ff0001",
-},
-{
-  'name': "[]byte(\"adef\")",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-97,
-100,
-101,
-102,
-]), true), _type2),
-  'typeString': "[]byte",
-  'hex': "824e0461646566",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "4e0461646566",
-},
-{
-  'name': "byte(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(0, true), vdl.types.BYTE),
-  'typeString': "byte",
-  'hex': "820400",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0400",
-},
-{
-  'name': "byte(127)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(127, true), vdl.types.BYTE),
-  'typeString': "byte",
-  'hex': "82047f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "047f",
-},
-{
-  'name': "byte(255)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(255, true), vdl.types.BYTE),
-  'typeString': "byte",
-  'hex': "8204ffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "04ffff",
-},
-{
-  'name': "uint16(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(0, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820800",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0800",
-},
-{
-  'name': "uint16(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(1, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820801",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0801",
-},
-{
-  'name': "uint16(2)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(2, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820802",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0802",
-},
-{
-  'name': "uint16(63)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(63, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "82083f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "083f",
-},
-{
-  'name': "uint16(64)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(64, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820840",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0840",
-},
-{
-  'name': "uint16(127)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(127, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "82087f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "087f",
-},
-{
-  'name': "uint16(128)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(128, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208ff80",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08ff80",
-},
-{
-  'name': "uint16(255)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(255, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208ffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08ffff",
-},
-{
-  'name': "uint16(256)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(256, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208fe0100",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08fe0100",
-},
-{
-  'name': "uint16(32766)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(32766, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208fe7ffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08fe7ffe",
-},
-{
-  'name': "uint16(32767)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(32767, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208fe7fff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08fe7fff",
-},
-{
-  'name': "uint16(65534)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(65534, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208fefffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08fefffe",
-},
-{
-  'name': "uint16(65535)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(65535, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "8208feffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "08feffff",
-},
-{
-  'name': "uint32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(0, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820a00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0a00",
-},
-{
-  'name': "uint32(8388606)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(8388606, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afd7ffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afd7ffffe",
-},
-{
-  'name': "uint32(8388607)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(8388607, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afd7fffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afd7fffff",
-},
-{
-  'name': "uint32(16777214)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(16777214, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afdfffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afdfffffe",
-},
-{
-  'name': "uint32(16777215)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(16777215, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afdffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afdffffff",
-},
-{
-  'name': "uint32(2147483646)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(2147483646, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afc7ffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afc7ffffffe",
-},
-{
-  'name': "uint32(2147483647)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(2147483647, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afc7fffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afc7fffffff",
-},
-{
-  'name': "uint32(4294967294)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(4294967294, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afcfffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afcfffffffe",
-},
-{
-  'name': "uint32(4294967295)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(4294967295, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820afcffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0afcffffffff",
-},
-{
-  'name': "uint64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820c00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0c00",
-},
-{
-  'name': "uint64(549755813886)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfb7ffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfb7ffffffffe",
-},
-{
-  'name': "uint64(549755813887)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfb7fffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfb7fffffffff",
-},
-{
-  'name': "uint64(1099511627774)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfbfffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfbfffffffffe",
-},
-{
-  'name': "uint64(1099511627775)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfbffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfbffffffffff",
-},
-{
-  'name': "uint64(140737488355326)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfa7ffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfa7ffffffffffe",
-},
-{
-  'name': "uint64(140737488355327)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfa7fffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfa7fffffffffff",
-},
-{
-  'name': "uint64(281474976710654)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfafffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfafffffffffffe",
-},
-{
-  'name': "uint64(281474976710655)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cfaffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cfaffffffffffff",
-},
-{
-  'name': "uint64(36028797018963966)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf97ffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf97ffffffffffffe",
-},
-{
-  'name': "uint64(36028797018963967)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf97fffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf97fffffffffffff",
-},
-{
-  'name': "uint64(72057594037927934)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf9fffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf9fffffffffffffe",
-},
-{
-  'name': "uint64(72057594037927935)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf9ffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf9ffffffffffffff",
-},
-{
-  'name': "uint64(9223372036854775806)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf87ffffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf87ffffffffffffffe",
-},
-{
-  'name': "uint64(9223372036854775807)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf87fffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf87fffffffffffffff",
-},
-{
-  'name': "uint64(18446744073709551614)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf8fffffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf8fffffffffffffffe",
-},
-{
-  'name': "uint64(18446744073709551615)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820cf8ffffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0cf8ffffffffffffffff",
-},
-{
-  'name': "int16(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(0, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e00",
-},
-{
-  'name': "int16(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(1, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e02",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e02",
-},
-{
-  'name': "int16(2)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(2, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e04",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e04",
-},
-{
-  'name': "int16(63)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(63, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e7e",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e7e",
-},
-{
-  'name': "int16(64)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(64, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820eff80",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0eff80",
-},
-{
-  'name': "int16(127)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(127, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efffe",
-},
-{
-  'name': "int16(128)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(128, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe0100",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe0100",
-},
-{
-  'name': "int16(255)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(255, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe01fe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe01fe",
-},
-{
-  'name': "int16(256)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(256, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe0200",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe0200",
-},
-{
-  'name': "int16(32766)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(32766, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efefffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efefffc",
-},
-{
-  'name': "int16(32767)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(32767, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efefffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efefffe",
-},
-{
-  'name': "int32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(0, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "821000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1000",
-},
-{
-  'name': "int32(8388606)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(8388606, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fdfffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fdfffffc",
-},
-{
-  'name': "int32(8388607)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(8388607, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fdfffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fdfffffe",
-},
-{
-  'name': "int32(16777214)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(16777214, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fc01fffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fc01fffffc",
-},
-{
-  'name': "int32(16777215)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(16777215, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fc01fffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fc01fffffe",
-},
-{
-  'name': "int32(2147483646)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(2147483646, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fcfffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fcfffffffc",
-},
-{
-  'name': "int32(2147483647)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(2147483647, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fcfffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fcfffffffe",
-},
-{
-  'name': "int64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821200",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1200",
-},
-{
-  'name': "int64(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821202",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1202",
-},
-{
-  'name': "int64(2)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x2])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821204",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1204",
-},
-{
-  'name': "int64(549755813886)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fbfffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fbfffffffffc",
-},
-{
-  'name': "int64(549755813887)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fbfffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fbfffffffffe",
-},
-{
-  'name': "int64(1099511627774)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fa01fffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fa01fffffffffc",
-},
-{
-  'name': "int64(1099511627775)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fa01fffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fa01fffffffffe",
-},
-{
-  'name': "int64(140737488355326)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fafffffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fafffffffffffc",
-},
-{
-  'name': "int64(140737488355327)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fafffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fafffffffffffe",
-},
-{
-  'name': "int64(281474976710654)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f901fffffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f901fffffffffffc",
-},
-{
-  'name': "int64(281474976710655)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f901fffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f901fffffffffffe",
-},
-{
-  'name': "int64(36028797018963966)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f9fffffffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f9fffffffffffffc",
-},
-{
-  'name': "int64(36028797018963967)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f9fffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f9fffffffffffffe",
-},
-{
-  'name': "int64(72057594037927934)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f801fffffffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f801fffffffffffffc",
-},
-{
-  'name': "int64(72057594037927935)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f801fffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f801fffffffffffffe",
-},
-{
-  'name': "int64(9223372036854775806)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f8fffffffffffffffc",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f8fffffffffffffffc",
-},
-{
-  'name': "int64(9223372036854775807)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f8fffffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f8fffffffffffffffe",
-},
-{
-  'name': "int16(-1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-1, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e01",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e01",
-},
-{
-  'name': "int16(-2)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-2, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e03",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e03",
-},
-{
-  'name': "int16(-64)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-64, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e7f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e7f",
-},
-{
-  'name': "int16(-65)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-65, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820eff81",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0eff81",
-},
-{
-  'name': "int16(-128)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-128, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820effff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0effff",
-},
-{
-  'name': "int16(-129)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-129, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe0101",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe0101",
-},
-{
-  'name': "int16(-256)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-256, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe01ff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe01ff",
-},
-{
-  'name': "int16(-257)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-257, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efe0201",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efe0201",
-},
-{
-  'name': "int16(-32767)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-32767, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efefffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efefffd",
-},
-{
-  'name': "int16(-32768)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(-32768, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820efeffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0efeffff",
-},
-{
-  'name': "int32(-8388607)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-8388607, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fdfffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fdfffffd",
-},
-{
-  'name': "int32(-8388608)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-8388608, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fdffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fdffffff",
-},
-{
-  'name': "int32(-16777215)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-16777215, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fc01fffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fc01fffffd",
-},
-{
-  'name': "int32(-16777216)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-16777216, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fc01ffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fc01ffffff",
-},
-{
-  'name': "int32(-2147483647)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-2147483647, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fcfffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fcfffffffd",
-},
-{
-  'name': "int32(-2147483648)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-2147483648, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "8210fcffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "10fcffffffff",
-},
-{
-  'name': "int64(-1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x1])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821201",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1201",
-},
-{
-  'name': "int64(-2)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x2])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821203",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1203",
-},
-{
-  'name': "int64(-549755813887)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fbfffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fbfffffffffd",
-},
-{
-  'name': "int64(-549755813888)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fbffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fbffffffffff",
-},
-{
-  'name': "int64(-1099511627775)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fa01fffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fa01fffffffffd",
-},
-{
-  'name': "int64(-1099511627776)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x1, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fa01ffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fa01ffffffffff",
-},
-{
-  'name': "int64(-140737488355327)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212fafffffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12fafffffffffffd",
-},
-{
-  'name': "int64(-140737488355328)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212faffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12faffffffffffff",
-},
-{
-  'name': "int64(-281474976710655)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f901fffffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f901fffffffffffd",
-},
-{
-  'name': "int64(-281474976710656)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f901ffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f901ffffffffffff",
-},
-{
-  'name': "int64(-36028797018963967)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f9fffffffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f9fffffffffffffd",
-},
-{
-  'name': "int64(-36028797018963968)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f9ffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f9ffffffffffffff",
-},
-{
-  'name': "int64(-72057594037927935)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f801fffffffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f801fffffffffffffd",
-},
-{
-  'name': "int64(-72057594037927936)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f801ffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f801ffffffffffffff",
-},
-{
-  'name': "int64(-9223372036854775807)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f8fffffffffffffffd",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f8fffffffffffffffd",
-},
-{
-  'name': "int64(-9223372036854775808)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "8212f8ffffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "12f8ffffffffffffffff",
-},
-{
-  'name': "float32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(0, true), vdl.types.FLOAT32),
-  'typeString': "float32",
-  'hex': "821400",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1400",
-},
-{
-  'name': "float32(32.5)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(32.5, true), vdl.types.FLOAT32),
-  'typeString': "float32",
-  'hex': "8214fd404040",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "14fd404040",
-},
-{
-  'name': "float32(-32.5)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(-32.5, true), vdl.types.FLOAT32),
-  'typeString': "float32",
-  'hex': "8214fd4040c0",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "14fd4040c0",
-},
-{
-  'name': "float64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(0, true), vdl.types.FLOAT64),
-  'typeString': "float64",
-  'hex': "821600",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1600",
-},
-{
-  'name': "float64(64.5)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(64.5, true), vdl.types.FLOAT64),
-  'typeString': "float64",
-  'hex': "8216fd205040",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "16fd205040",
-},
-{
-  'name': "float64(-64.5)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(-64.5, true), vdl.types.FLOAT64),
-  'typeString': "float64",
-  'hex': "8216fd2050c0",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "16fd2050c0",
-},
-{
-  'name': "complex64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX64),
-  'typeString': "complex64",
-  'hex': "8218020000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "18020000",
-},
-{
-  'name': "complex64(64.5+64.5i)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(64.500000, 64.500000), true), vdl.types.COMPLEX64),
-  'typeString': "complex64",
-  'hex': "821808fd205040fd205040",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1808fd205040fd205040",
-},
-{
-  'name': "complex64(64.5-64.5i)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(64.500000, -64.500000), true), vdl.types.COMPLEX64),
-  'typeString': "complex64",
-  'hex': "821808fd205040fd2050c0",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1808fd205040fd2050c0",
-},
-{
-  'name': "complex128(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX128),
-  'typeString': "complex128",
-  'hex': "821a020000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1a020000",
-},
-{
-  'name': "complex128(128.5+128.5i)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(128.500000, 128.500000), true), vdl.types.COMPLEX128),
-  'typeString': "complex128",
-  'hex': "821a08fd106040fd106040",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1a08fd106040fd106040",
-},
-{
-  'name': "complex128(128.5-128.5i)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(128.500000, -128.500000), true), vdl.types.COMPLEX128),
-  'typeString': "complex128",
-  'hex': "821a08fd106040fd1060c0",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1a08fd106040fd1060c0",
-},
-{
-  'name': "types.NBool(true)",
-  'value': canonicalize.reduce(new types.NBool(true, true), new types.NBool()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NBool bool",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15201",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e1",
-  'hexValue': "5201",
-},
-{
-  'name': "types.NBool(false)",
-  'value': canonicalize.reduce(new types.NBool(false, true), new types.NBool()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NBool bool",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15200",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NString(\"\")",
-  'value': canonicalize.reduce(new types.NString("", true), new types.NString()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NString string",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e537472696e670103e15200",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e537472696e670103e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NString(\"abc\")",
-  'value': canonicalize.reduce(new types.NString("abc", true), new types.NString()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NString string",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e537472696e670103e15203616263",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e537472696e670103e1",
-  'hexValue': "5203616263",
-},
-{
-  'name': "types.NByteSlice(\"\")",
-  'value': canonicalize.reduce(new types.NByteSlice(new Uint8Array([
-]), true), new types.NByteSlice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteSlice []byte",
-  'hex': "82512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15200",
-  'hexVersion': "82",
-  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NByteSlice(\"\\xff\\x00\\x01\")",
-  'value': canonicalize.reduce(new types.NByteSlice(new Uint8Array([
-255,
-0,
-1,
-]), true), new types.NByteSlice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteSlice []byte",
-  'hex': "82512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203ff0001",
-  'hexVersion': "82",
-  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e1",
-  'hexValue': "5203ff0001",
-},
-{
-  'name': "types.NByteSlice(\"abc\")",
-  'value': canonicalize.reduce(new types.NByteSlice(new Uint8Array([
-97,
-98,
-99,
-]), true), new types.NByteSlice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteSlice []byte",
-  'hex': "82512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203616263",
-  'hexVersion': "82",
-  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e1",
-  'hexValue': "5203616263",
-},
-{
-  'name': "types.NByteArray(\"\\x00\\x00\\x00\\x00\")",
-  'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-0,
-0,
-0,
-0,
-]), true), new types.NByteArray()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "82512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520000000000",
-  'hexVersion': "82",
-  'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520000000000",
-},
-{
-  'name': "types.NByteArray(\"\\xff\\x00\\x01\\x00\")",
-  'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-255,
-0,
-1,
-0,
-]), true), new types.NByteArray()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "82512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e15200ff000100",
-  'hexVersion': "82",
-  'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "5200ff000100",
-},
-{
-  'name': "types.NByteArray(\"abcd\")",
-  'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-97,
-98,
-99,
-100,
-]), true), new types.NByteArray()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "82512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520061626364",
-  'hexVersion': "82",
-  'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520061626364",
-},
-{
-  'name': "types.NByte(0)",
-  'value': canonicalize.reduce(new types.NByte(0, true), new types.NByte()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByte byte",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e15200",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NByte(127)",
-  'value': canonicalize.reduce(new types.NByte(127, true), new types.NByte()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByte byte",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e1527f",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e1",
-  'hexValue': "527f",
-},
-{
-  'name': "types.NByte(255)",
-  'value': canonicalize.reduce(new types.NByte(255, true), new types.NByte()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByte byte",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e152ffff",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e1",
-  'hexValue': "52ffff",
-},
-{
-  'name': "types.NUint16(0)",
-  'value': canonicalize.reduce(new types.NUint16(0, true), new types.NUint16()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint16 uint16",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e15200",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NUint16(65535)",
-  'value': canonicalize.reduce(new types.NUint16(65535, true), new types.NUint16()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint16 uint16",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e152feffff",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e1",
-  'hexValue': "52feffff",
-},
-{
-  'name': "types.NUint32(0)",
-  'value': canonicalize.reduce(new types.NUint32(0, true), new types.NUint32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint32 uint32",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e15200",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NUint32(4294967295)",
-  'value': canonicalize.reduce(new types.NUint32(4294967295, true), new types.NUint32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint32 uint32",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e152fcffffffff",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e1",
-  'hexValue': "52fcffffffff",
-},
-{
-  'name': "types.NUint64(0)",
-  'value': canonicalize.reduce(new types.NUint64(new vdl.BigInt(0, new Uint8Array([])), true), new types.NUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint64 uint64",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e15200",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NUint64(18446744073709551615)",
-  'value': canonicalize.reduce(new types.NUint64(new vdl.BigInt(1, new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), new types.NUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUint64 uint64",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e152f8ffffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e1",
-  'hexValue': "52f8ffffffffffffffff",
-},
-{
-  'name': "types.NInt16(0)",
-  'value': canonicalize.reduce(new types.NInt16(0, true), new types.NInt16()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt16 int16",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15200",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NInt16(32767)",
-  'value': canonicalize.reduce(new types.NInt16(32767, true), new types.NInt16()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt16 int16",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e152fefffe",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e1",
-  'hexValue': "52fefffe",
-},
-{
-  'name': "types.NInt16(-32768)",
-  'value': canonicalize.reduce(new types.NInt16(-32768, true), new types.NInt16()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt16 int16",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e152feffff",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e1",
-  'hexValue': "52feffff",
-},
-{
-  'name': "types.NInt32(0)",
-  'value': canonicalize.reduce(new types.NInt32(0, true), new types.NInt32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt32 int32",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15200",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NInt32(2147483647)",
-  'value': canonicalize.reduce(new types.NInt32(2147483647, true), new types.NInt32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt32 int32",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e152fcfffffffe",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e1",
-  'hexValue': "52fcfffffffe",
-},
-{
-  'name': "types.NInt32(-2147483648)",
-  'value': canonicalize.reduce(new types.NInt32(-2147483648, true), new types.NInt32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt32 int32",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e152fcffffffff",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e1",
-  'hexValue': "52fcffffffff",
-},
-{
-  'name': "types.NInt64(0)",
-  'value': canonicalize.reduce(new types.NInt64(new vdl.BigInt(0, new Uint8Array([])), true), new types.NInt64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt64 int64",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e15200",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NInt64(9223372036854775807)",
-  'value': canonicalize.reduce(new types.NInt64(new vdl.BigInt(1, new Uint8Array([0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])), true), new types.NInt64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt64 int64",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152f8fffffffffffffffe",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52f8fffffffffffffffe",
-},
-{
-  'name': "types.NInt64(-9223372036854775808)",
-  'value': canonicalize.reduce(new types.NInt64(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), new types.NInt64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt64 int64",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152f8ffffffffffffffff",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52f8ffffffffffffffff",
-},
-{
-  'name': "types.NFloat32(0)",
-  'value': canonicalize.reduce(new types.NFloat32(0, true), new types.NFloat32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat32 float32",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae15200",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NFloat32(32.5)",
-  'value': canonicalize.reduce(new types.NFloat32(32.5, true), new types.NFloat32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat32 float32",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae152fd404040",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1",
-  'hexValue': "52fd404040",
-},
-{
-  'name': "types.NFloat32(-32.5)",
-  'value': canonicalize.reduce(new types.NFloat32(-32.5, true), new types.NFloat32()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat32 float32",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae152fd4040c0",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1",
-  'hexValue': "52fd4040c0",
-},
-{
-  'name': "types.NFloat64(0)",
-  'value': canonicalize.reduce(new types.NFloat64(0, true), new types.NFloat64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat64 float64",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be15200",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NFloat64(64.5)",
-  'value': canonicalize.reduce(new types.NFloat64(64.5, true), new types.NFloat64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat64 float64",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be152fd205040",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be1",
-  'hexValue': "52fd205040",
-},
-{
-  'name': "types.NFloat64(-64.5)",
-  'value': canonicalize.reduce(new types.NFloat64(-64.5, true), new types.NFloat64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NFloat64 float64",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be152fd2050c0",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be1",
-  'hexValue': "52fd2050c0",
-},
-{
-  'name': "types.NComplex64(0)",
-  'value': canonicalize.reduce(new types.NComplex64(new vdl.Complex(0.000000, 0.000000), true), new types.NComplex64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex64 complex64",
-  'hex': "82512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce152020000",
-  'hexVersion': "82",
-  'hexType': "512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce1",
-  'hexValue': "52020000",
-},
-{
-  'name': "types.NComplex64(64.5+64.5i)",
-  'value': canonicalize.reduce(new types.NComplex64(new vdl.Complex(64.500000, 64.500000), true), new types.NComplex64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex64 complex64",
-  'hex': "82512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce15208fd205040fd205040",
-  'hexVersion': "82",
-  'hexType': "512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce1",
-  'hexValue': "5208fd205040fd205040",
-},
-{
-  'name': "types.NComplex64(64.5-64.5i)",
-  'value': canonicalize.reduce(new types.NComplex64(new vdl.Complex(64.500000, -64.500000), true), new types.NComplex64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex64 complex64",
-  'hex': "82512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce15208fd205040fd2050c0",
-  'hexVersion': "82",
-  'hexType': "512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce1",
-  'hexValue': "5208fd205040fd2050c0",
-},
-{
-  'name': "types.NComplex128(0)",
-  'value': canonicalize.reduce(new types.NComplex128(new vdl.Complex(0.000000, 0.000000), true), new types.NComplex128()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex128 complex128",
-  'hex': "82512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de152020000",
-  'hexVersion': "82",
-  'hexType': "512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de1",
-  'hexValue': "52020000",
-},
-{
-  'name': "types.NComplex128(128.5+128.5i)",
-  'value': canonicalize.reduce(new types.NComplex128(new vdl.Complex(128.500000, 128.500000), true), new types.NComplex128()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex128 complex128",
-  'hex': "82512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de15208fd106040fd106040",
-  'hexVersion': "82",
-  'hexType': "512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de1",
-  'hexValue': "5208fd106040fd106040",
-},
-{
-  'name': "types.NComplex128(128.5-128.5i)",
-  'value': canonicalize.reduce(new types.NComplex128(new vdl.Complex(128.500000, -128.500000), true), new types.NComplex128()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NComplex128 complex128",
-  'hex': "82512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de15208fd106040fd1060c0",
-  'hexVersion': "82",
-  'hexType': "512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de1",
-  'hexValue': "5208fd106040fd1060c0",
-},
-{
-  'name': "types.NArray2Uint64{1, 2}",
-  'value': canonicalize.reduce(new types.NArray2Uint64([
-new vdl.BigInt(1, new Uint8Array([0x1])),
-new vdl.BigInt(1, new Uint8Array([0x2])),
-], true), new types.NArray2Uint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NArray2Uint64 [2]uint64",
-  'hex': "825131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e15203000102",
-  'hexVersion': "82",
-  'hexType': "5131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "5203000102",
-},
-{
-  'name': "[]uint64{1, 2}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type3))([
-new vdl.BigInt(1, new Uint8Array([0x1])),
-new vdl.BigInt(1, new Uint8Array([0x2])),
-], true), _type3),
-  'typeString': "[]uint64",
-  'hex': "825104030106e15203020102",
-  'hexVersion': "82",
-  'hexType': "5104030106e1",
-  'hexValue': "5203020102",
-},
-{
-  'name': "types.NListUint64{1, 2}",
-  'value': canonicalize.reduce(new types.NListUint64([
-new vdl.BigInt(1, new Uint8Array([0x1])),
-new vdl.BigInt(1, new Uint8Array([0x2])),
-], true), new types.NListUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NListUint64 []uint64",
-  'hex': "82512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e15203020102",
-  'hexVersion': "82",
-  'hexType': "512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "5203020102",
-},
-{
-  'name': "set[uint64]{1}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type4))(new Set([
-  new vdl.BigInt(1, new Uint8Array([0x1])), ]), true), _type4),
-  'typeString': "set[uint64]",
-  'hex': "825104040106e152020101",
-  'hexVersion': "82",
-  'hexType': "5104040106e1",
-  'hexValue': "52020101",
-},
-{
-  'name': "types.NSetUint64{1}",
-  'value': canonicalize.reduce(new types.NSetUint64(new Set([
-  new vdl.BigInt(1, new Uint8Array([0x1])), ]), true), new types.NSetUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NSetUint64 set[uint64]",
-  'hex': "82512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152020101",
-  'hexVersion': "82",
-  'hexType': "512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52020101",
-},
-{
-  'name': "map[uint64]string{1: \"abc\"}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type5))(new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x1])), "abc"]]), true), _type5),
-  'typeString': "map[uint64]string",
-  'hex': "8251060501060203e15206010103616263",
-  'hexVersion': "82",
-  'hexType': "51060501060203e1",
-  'hexValue': "5206010103616263",
-},
-{
-  'name': "types.NMapUint64String{1: \"abc\"}",
-  'value': canonicalize.reduce(new types.NMapUint64String(new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x1])), "abc"]]), true), new types.NMapUint64String()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NMapUint64String map[uint64]string",
-  'hex': "82513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e15206010103616263",
-  'hexVersion': "82",
-  'hexType': "513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "5206010103616263",
-},
-{
-  'name': "types.NStruct{A: true, B: \"abc\", C: 123}",
-  'value': canonicalize.reduce(new types.NStruct({
-  'a': true,
-  'b': "abc",
-  'c': new vdl.BigInt(1, new Uint8Array([0x7b])),
-}, true), new types.NStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1520b0001010361626302fff6e1",
-  'hexVersion': "82",
-  'hexType': "513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "520b0001010361626302fff6e1",
-},
-{
-  'name': "?types.NStruct(nil)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type6))(null, true), _type6),
-  'typeString': "?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae15201e0",
-  'hexVersion': "82",
-  'hexType': "533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae1",
-  'hexValue': "5201e0",
-},
-{
-  'name': "?types.NStruct{}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type6))({
-  'a': false,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), _type6),
-  'typeString': "?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae15201e1",
-  'hexVersion': "82",
-  'hexType': "533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae1",
-  'hexValue': "5201e1",
-},
-{
-  'name': "?types.NStruct{A: true, B: \"abc\", C: 123}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type6))({
-  'a': true,
-  'b': "abc",
-  'c': new vdl.BigInt(1, new Uint8Array([0x7b])),
-}, true), _type6),
-  'typeString': "?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae1520b0001010361626302fff6e1",
-  'hexVersion': "82",
-  'hexType': "533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1510408012ae1",
-  'hexValue': "520b0001010361626302fff6e1",
-},
-{
-  'name': "types.NEnum.A",
-  'value': types.NEnum.A,
-  'typeString': "v.io/v23/vom/testdata/types.NEnum enum{A;B;C}",
-  'hex': "82512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e15200",
-  'hexVersion': "82",
-  'hexType': "512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NEnum.B",
-  'value': types.NEnum.B,
-  'typeString': "v.io/v23/vom/testdata/types.NEnum enum{A;B;C}",
-  'hex': "82512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e15201",
-  'hexVersion': "82",
-  'hexType': "512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1",
-  'hexValue': "5201",
-},
-{
-  'name': "types.NEnum.C",
-  'value': types.NEnum.C,
-  'typeString': "v.io/v23/vom/testdata/types.NEnum enum{A;B;C}",
-  'hex': "82512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e15202",
-  'hexVersion': "82",
-  'hexType': "512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1",
-  'hexValue': "5202",
-},
-{
-  'name': "types.NUnion{A: true}",
-  'value': canonicalize.reduce(new types.NUnion({ "a": true }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020001",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020001",
-},
-{
-  'name': "types.NUnion{A: false}",
-  'value': canonicalize.reduce(new types.NUnion({ "a": false }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020000",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020000",
-},
-{
-  'name': "types.NUnion{B: \"\"}",
-  'value': canonicalize.reduce(new types.NUnion({ "b": "" }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020100",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020100",
-},
-{
-  'name': "types.NUnion{B: \"abc\"}",
-  'value': canonicalize.reduce(new types.NUnion({ "b": "abc" }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152050103616263",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52050103616263",
-},
-{
-  'name': "types.NUnion{C: 0}",
-  'value': canonicalize.reduce(new types.NUnion({ "c": new vdl.BigInt(0, new Uint8Array([])) }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020200",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020200",
-},
-{
-  'name': "types.NUnion{C: 123}",
-  'value': canonicalize.reduce(new types.NUnion({ "c": new vdl.BigInt(1, new Uint8Array([0x7b])) }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1520302fff6",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "520302fff6",
-},
-{
-  'name': "types.NUnion{C: -123}",
-  'value': canonicalize.reduce(new types.NUnion({ "c": new vdl.BigInt(-1, new Uint8Array([0x7b])) }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1520302fff5",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "520302fff5",
-},
-{
-  'name': "types.MBool(true)",
-  'value': canonicalize.reduce(new types.MBool(true, true), new types.MBool()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MBool bool",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e15201",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1",
-  'hexValue': "5201",
-},
-{
-  'name': "types.MBool(false)",
-  'value': canonicalize.reduce(new types.MBool(false, true), new types.MBool()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MBool bool",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e15200",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.MStruct{A: true, B: true, C: true}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': true,
-  'b': true,
-  'c': true,
-  'd': null,
-  'e': vdl.types.ANY,
-  'f': null,
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1520007000101010201e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "520007000101010201e1",
-},
-{
-  'name': "types.MStruct{}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': null,
-  'e': vdl.types.ANY,
-  'f': null,
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1520001e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "520001e1",
-},
-{
-  'name': "types.MStruct{D: {}}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': {
-  'a': false,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-},
-  'e': vdl.types.ANY,
-  'f': null,
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000303e1e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52000303e1e1",
-},
-{
-  'name': "types.MStruct{D: {A: true, B: \"abc\", C: 123}}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': {
-  'a': true,
-  'b': "abc",
-  'c': new vdl.BigInt(1, new Uint8Array([0x7b])),
-},
-  'e': vdl.types.ANY,
-  'f': null,
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152000d030001010361626302fff6e1e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52000d030001010361626302fff6e1e1",
-},
-{
-  'name': "types.MStruct{F: \"abc\"}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': null,
-  'e': vdl.types.ANY,
-  'f': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("abc", true), vdl.types.STRING),
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152010307050003616263e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52010307050003616263e1",
-},
-{
-  'name': "types.MStruct{F: types.MBool(true)}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': null,
-  'e': vdl.types.ANY,
-  'f': canonicalize.reduce(new types.MBool(true, true), new types.MBool()._type),
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012b04050001e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52012b04050001e1",
-},
-{
-  'name': "types.MStruct{F: ?types.NStruct{B: \"abc\"}}",
-  'value': canonicalize.reduce(new types.MStruct({
-  'a': false,
-  'b': false,
-  'c': false,
-  'd': null,
-  'e': vdl.types.ANY,
-  'f': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type6))({
-  'a': false,
-  'b': "abc",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), _type6),
-}, true), new types.MStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MStruct struct{A bool;B v.io/v23/vom/testdata/types.NBool bool;C v.io/v23/vom/testdata/types.MBool bool;D ?v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};E typeobject;F any}",
-  'hex': "825327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e152012c0905000103616263e1e1",
-  'hexVersion': "82",
-  'hexType': "5327000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e15527000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d426f6f6c0101e1593b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1570408012de1514d060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d53747275637401060001410101e1000142012ae1000143012be1000144012ce1000145010ee1000146010fe1e1",
-  'hexValue': "52012c0905000103616263e1e1",
-},
-{
-  'name': "types.MList{{4, 2}, {}, {99}}",
-  'value': canonicalize.reduce(new types.MList([
-[
-new vdl.BigInt(1, new Uint8Array([0x4])),
-new vdl.BigInt(1, new Uint8Array([0x2])),
-],
-[
-],
-[
-new vdl.BigInt(1, new Uint8Array([0x63])),
-],
-], true), new types.MList()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MList []v.io/v23/vom/testdata/types.NListUint64 []uint64",
-  'hex': "82532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e15127030021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d4c697374012ae1520703020402000163",
-  'hexVersion': "82",
-  'hexType': "532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e15127030021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d4c697374012ae1",
-  'hexValue': "520703020402000163",
-},
-{
-  'name': "types.MMap{4.5: {2, 3}}",
-  'value': canonicalize.reduce(new types.MMap(new Map([
-  [4.5, [
-new vdl.BigInt(1, new Uint8Array([0x2])),
-new vdl.BigInt(1, new Uint8Array([0x3])),
-]]]), true), new types.MMap()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MMap map[v.io/v23/vom/testdata/types.NFloat32 float32]v.io/v23/vom/testdata/types.NListUint64 []uint64",
-  'hex': "82532a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1552d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e15128050020762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d4d6170012a022be1520701fe1240020203",
-  'hexVersion': "82",
-  'hexType': "532a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1552d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e15128050020762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d4d6170012a022be1",
-  'hexValue': "520701fe1240020203",
-},
-{
-  'name': "types.RecA{{}, {{}}}",
-  'value': canonicalize.reduce(new types.RecA([
-[
-],
-[
-[
-],
-],
-], true), new types.RecA()._type),
-  'typeString': "v.io/v23/vom/testdata/types.RecA []v.io/v23/vom/testdata/types.RecA",
-  'hex': "825126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563410129e1520402000100",
-  'hexVersion': "82",
-  'hexType': "5126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563410129e1",
-  'hexValue': "520402000100",
-},
-{
-  'name': "types.RecX{{}, {{}, {}}}",
-  'value': canonicalize.reduce(new types.RecX([
-[
-],
-[
-[
-],
-[
-],
-],
-], true), new types.RecX()._type),
-  'typeString': "v.io/v23/vom/testdata/types.RecX []v.io/v23/vom/testdata/types.RecY []v.io/v23/vom/testdata/types.RecX",
-  'hex': "82e85326030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563590129e15126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656358012ae152050200020000",
-  'hexVersion': "82",
-  'hexType': "e85326030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563590129e15126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656358012ae1",
-  'hexValue': "52050200020000",
-},
-{
-  'name': "types.Rec1{{{{{}}}}}",
-  'value': canonicalize.reduce(new types.Rec1([
-[
-[
-[
-[
-],
-],
-],
-],
-], true), new types.Rec1()._type),
-  'typeString': "v.io/v23/vom/testdata/types.Rec1 []v.io/v23/vom/testdata/types.Rec2 []v.io/v23/vom/testdata/types.Rec3 []v.io/v23/vom/testdata/types.Rec4 []v.io/v23/vom/testdata/types.Rec1",
-  'hex': "82e85726030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563340129e1e85526030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656333012ce1e85326030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656332012be15126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331012ae152050101010100",
-  'hexVersion': "82",
-  'hexType': "e85726030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563340129e1e85526030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656333012ce1e85326030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656332012be15126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331012ae1",
-  'hexValue': "52050101010100",
-},
-{
-  'name': "types.RecStruct{A: {}}",
-  'value': canonicalize.reduce(new types.RecStruct({
-  'a': {
-  'a': null,
-},
-}, true), new types.RecStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.RecStruct struct{A ?v.io/v23/vom/testdata/types.RecStruct}",
-  'hex': "82e85304080129e15131060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5265635374727563740101000141012ae1e1520300e1e1",
-  'hexVersion': "82",
-  'hexType': "e85304080129e15131060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5265635374727563740101000141012ae1e1",
-  'hexValue': "520300e1e1",
-},
-{
-  'name': "types.RecStruct{A: {A: {}}}",
-  'value': canonicalize.reduce(new types.RecStruct({
-  'a': {
-  'a': {
-  'a': null,
-},
-},
-}, true), new types.RecStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.RecStruct struct{A ?v.io/v23/vom/testdata/types.RecStruct}",
-  'hex': "82e85304080129e15131060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5265635374727563740101000141012ae1e152050000e1e1e1",
-  'hexVersion': "82",
-  'hexType': "e85304080129e15131060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5265635374727563740101000141012ae1e1",
-  'hexValue': "52050000e1e1e1",
-},
-{
-  'name': "types.Rec1234All{A: {A: {{}}, Rec1234: {{}}}, B: {B: {{}}, Rec1234: {{R2: {{}}}}}}",
-  'value': canonicalize.reduce(new types.Rec1234All({
-  'a': {
-  'a': [
-{
-  'a': [
-],
-  'rec1234': [
-],
-},
-],
-  'rec1234': [
-{
-  'r1': [
-],
-  'r2': [
-],
-  'r3': [
-],
-  'r4': [
-],
-},
-],
-},
-  'b': {
-  'b': [
-{
-  'b': [
-],
-  'rec1234': [
-],
-},
-],
-  'rec1234': [
-{
-  'r1': [
-],
-  'r2': [
-[
-],
-],
-  'r3': [
-],
-  'r4': [
-],
-},
-],
-},
-}, true), new types.Rec1234All()._type),
-  'typeString': "v.io/v23/vom/testdata/types.Rec1234All struct{A v.io/v23/vom/testdata/types.Rec1234A struct{A []v.io/v23/vom/testdata/types.Rec1234A;Rec1234 []v.io/v23/vom/testdata/types.Rec1234 struct{R1 v.io/v23/vom/testdata/types.Rec1 []v.io/v23/vom/testdata/types.Rec2 []v.io/v23/vom/testdata/types.Rec3 []v.io/v23/vom/testdata/types.Rec4 []v.io/v23/vom/testdata/types.Rec1;R2 v.io/v23/vom/testdata/types.Rec2;R3 v.io/v23/vom/testdata/types.Rec3;R4 v.io/v23/vom/testdata/types.Rec4}};B v.io/v23/vom/testdata/types.Rec1234B struct{B []v.io/v23/vom/testdata/types.Rec1234B;Rec1234 []v.io/v23/vom/testdata/types.Rec1234}}",
-  'hex': "82e8550403012ae1e86126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656334012ee1e85f26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563330131e1e85d26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563320130e15b26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331012fe15945060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334010400025231012ee100025232012fe1000252330130e1000252340131e1e1570403012de1533c060024762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334410102000141012be1000752656331323334012ce1e1e86504030132e1633c060024762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563313233344201020001420133e1000752656331323334012ce1e15138060026762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334416c6c0102000141012ae10001420132e1e15214000001e10101e1e1010001e10101010100e1e1e1",
-  'hexVersion': "82",
-  'hexType': "e8550403012ae1e86126030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656334012ee1e85f26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563330131e1e85d26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563320130e15b26030020762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331012fe15945060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334010400025231012ee100025232012fe1000252330130e1000252340131e1e1570403012de1533c060024762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334410102000141012be1000752656331323334012ce1e1e86504030132e1633c060024762e696f2f7632332f766f6d2f74657374646174612f74797065732e526563313233344201020001420133e1000752656331323334012ce1e15138060026762e696f2f7632332f766f6d2f74657374646174612f74797065732e52656331323334416c6c0102000141012ae10001420132e1e1",
-  'hexValue': "5214000001e10101e1e1010001e10101010100e1e1e1",
-},
-{
-  'name': "typeobject(any)",
-  'value': vdl.types.ANY,
-  'typeString': "typeobject",
-  'hex': "821c010f00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010f00",
-},
-{
-  'name': "typeobject(bool)",
-  'value': vdl.types.BOOL,
-  'typeString': "typeobject",
-  'hex': "821c010100",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010100",
-},
-{
-  'name': "typeobject(uint16)",
-  'value': vdl.types.UINT16,
-  'typeString': "typeobject",
-  'hex': "821c010400",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010400",
-},
-{
-  'name': "typeobject(uint32)",
-  'value': vdl.types.UINT32,
-  'typeString': "typeobject",
-  'hex': "821c010500",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010500",
-},
-{
-  'name': "typeobject(uint64)",
-  'value': vdl.types.UINT64,
-  'typeString': "typeobject",
-  'hex': "821c010600",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010600",
-},
-{
-  'name': "typeobject(int16)",
-  'value': vdl.types.INT16,
-  'typeString': "typeobject",
-  'hex': "821c010700",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010700",
-},
-{
-  'name': "typeobject(int32)",
-  'value': vdl.types.INT32,
-  'typeString': "typeobject",
-  'hex': "821c010800",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010800",
-},
-{
-  'name': "typeobject(int64)",
-  'value': vdl.types.INT64,
-  'typeString': "typeobject",
-  'hex': "821c010900",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010900",
-},
-{
-  'name': "typeobject(int16)",
-  'value': vdl.types.INT16,
-  'typeString': "typeobject",
-  'hex': "821c010700",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010700",
-},
-{
-  'name': "typeobject(int32)",
-  'value': vdl.types.INT32,
-  'typeString': "typeobject",
-  'hex': "821c010800",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010800",
-},
-{
-  'name': "typeobject(int64)",
-  'value': vdl.types.INT64,
-  'typeString': "typeobject",
-  'hex': "821c010900",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010900",
-},
-{
-  'name': "typeobject(float32)",
-  'value': vdl.types.FLOAT32,
-  'typeString': "typeobject",
-  'hex': "821c010a00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010a00",
-},
-{
-  'name': "typeobject(float64)",
-  'value': vdl.types.FLOAT64,
-  'typeString': "typeobject",
-  'hex': "821c010b00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010b00",
-},
-{
-  'name': "typeobject(complex64)",
-  'value': vdl.types.COMPLEX64,
-  'typeString': "typeobject",
-  'hex': "821c010c00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010c00",
-},
-{
-  'name': "typeobject(complex128)",
-  'value': vdl.types.COMPLEX128,
-  'typeString': "typeobject",
-  'hex': "821c010d00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010d00",
-},
-{
-  'name': "typeobject(types.NBool)",
-  'value': new types.NBool()._type,
-  'typeString': "typeobject",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e11c012900",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e426f6f6c0101e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NUint16)",
-  'value': new types.NUint16()._type,
-  'typeString': "typeobject",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e11c012900",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7431360104e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NUint32)",
-  'value': new types.NUint32()._type,
-  'typeString': "typeobject",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e11c012900",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7433320105e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NUint64)",
-  'value': new types.NUint64()._type,
-  'typeString': "typeobject",
-  'hex': "825129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e11c012900",
-  'hexVersion': "82",
-  'hexType': "5129000023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e55696e7436340106e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NInt16)",
-  'value': new types.NInt16()._type,
-  'typeString': "typeobject",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e11c012900",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NInt32)",
-  'value': new types.NInt32()._type,
-  'typeString': "typeobject",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e11c012900",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NInt64)",
-  'value': new types.NInt64()._type,
-  'typeString': "typeobject",
-  'hex': "825128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e11c012900",
-  'hexVersion': "82",
-  'hexType': "5128000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NFloat32)",
-  'value': new types.NFloat32()._type,
-  'typeString': "typeobject",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae11c012900",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743332010ae1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NFloat64)",
-  'value': new types.NFloat64()._type,
-  'typeString': "typeobject",
-  'hex': "82512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be11c012900",
-  'hexVersion': "82",
-  'hexType': "512a000024762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e466c6f61743634010be1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NComplex64)",
-  'value': new types.NComplex64()._type,
-  'typeString': "typeobject",
-  'hex': "82512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce11c012900",
-  'hexVersion': "82",
-  'hexType': "512c000026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c65783634010ce1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NComplex128)",
-  'value': new types.NComplex128()._type,
-  'typeString': "typeobject",
-  'hex': "82512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de11c012900",
-  'hexVersion': "82",
-  'hexType': "512d000027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e436f6d706c6578313238010de1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NArray2Uint64)",
-  'value': new types.NArray2Uint64()._type,
-  'typeString': "typeobject",
-  'hex': "825131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e11c012900",
-  'hexVersion': "82",
-  'hexType': "5131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject([]uint64)",
-  'value': _type3,
-  'typeString': "typeobject",
-  'hex': "825104030106e11c012900",
-  'hexVersion': "82",
-  'hexType': "5104030106e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NListUint64)",
-  'value': new types.NListUint64()._type,
-  'typeString': "typeobject",
-  'hex': "82512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e11c012900",
-  'hexVersion': "82",
-  'hexType': "512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(set[uint64])",
-  'value': _type4,
-  'typeString': "typeobject",
-  'hex': "825104040106e11c012900",
-  'hexVersion': "82",
-  'hexType': "5104040106e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NSetUint64)",
-  'value': new types.NSetUint64()._type,
-  'typeString': "typeobject",
-  'hex': "82512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e11c012900",
-  'hexVersion': "82",
-  'hexType': "512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(map[uint64]string)",
-  'value': _type5,
-  'typeString': "typeobject",
-  'hex': "8251060501060203e11c012900",
-  'hexVersion': "82",
-  'hexType': "51060501060203e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NMapUint64String)",
-  'value': new types.NMapUint64String()._type,
-  'typeString': "typeobject",
-  'hex': "82513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e11c012900",
-  'hexVersion': "82",
-  'hexType': "513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NStruct)",
-  'value': new types.NStruct()._type,
-  'typeString': "typeobject",
-  'hex': "82513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e11c012900",
-  'hexVersion': "82",
-  'hexType': "513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NEnum)",
-  'value': types.NEnum.A._type,
-  'typeString': "typeobject",
-  'hex': "82512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e11c012900",
-  'hexVersion': "82",
-  'hexType': "512d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "typeobject(types.NUnion)",
-  'value': new types.NUnion()._type,
-  'typeString': "typeobject",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e11c012900",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "1c012900",
-},
-{
-  'name': "[]typeobject{typeobject(any), typeobject(bool)}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type7))([
-vdl.types.ANY,
-vdl.types.BOOL,
-], true), _type7),
-  'typeString': "[]typeobject",
-  'hex': "82510403010ee152020f0103020001",
-  'hexVersion': "82",
-  'hexType': "510403010ee1",
-  'hexValue': "52020f0103020001",
-},
-{
-  'name': "types.StructAny{}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': null,
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1520001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "520001e1",
-},
-{
-  'name': "types.StructAny{Any: false}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010104000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010104000000e1",
-},
-{
-  'name': "types.StructAny{Any: int16(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(0, true), vdl.types.INT16),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010704000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010704000000e1",
-},
-{
-  'name': "types.StructAny{Any: int32(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(0, true), vdl.types.INT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010804000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010804000000e1",
-},
-{
-  'name': "types.StructAny{Any: int64(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.INT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010904000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010904000000e1",
-},
-{
-  'name': "types.StructAny{Any: uint16(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(0, true), vdl.types.UINT16),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010404000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010404000000e1",
-},
-{
-  'name': "types.StructAny{Any: uint32(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(0, true), vdl.types.UINT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010504000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010504000000e1",
-},
-{
-  'name': "types.StructAny{Any: uint64(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.UINT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010604000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010604000000e1",
-},
-{
-  'name': "types.StructAny{Any: float32(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(0, true), vdl.types.FLOAT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010a04000000e1",
-},
-{
-  'name': "types.StructAny{Any: float64(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(0, true), vdl.types.FLOAT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010b04000000e1",
-},
-{
-  'name': "types.StructAny{Any: complex64(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c0500000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010c0500000000e1",
-},
-{
-  'name': "types.StructAny{Any: complex128(0)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX128),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d0500000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010d0500000000e1",
-},
-{
-  'name': "types.StructAny{Any: \"\"}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("", true), vdl.types.STRING),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010304000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010304000000e1",
-},
-{
-  'name': "types.StructAny{Any: []byte(\"\")}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-]), true), _type2),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152012704000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52012704000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.FoodEnum.Bean}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': types.FoodEnum.BEAN,
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "52012a04000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NListUint64{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NListUint64([
-], true), new types.NListUint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "52012a04000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NByteArray(\"\\x00\\x00\\x00\\x00\")}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-0,
-0,
-0,
-0,
-]), true), new types.NByteArray()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0800000000000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "52012a0800000000000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NArray2Uint64{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NArray2Uint64([
-new vdl.BigInt(0, new Uint8Array([])),
-new vdl.BigInt(0, new Uint8Array([])),
-], true), new types.NArray2Uint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a060000000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "52012a060000000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NSetUint64{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NSetUint64(new Set([]), true), new types.NSetUint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52012a04000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NMapUint64String{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NMapUint64String(new Map([]), true), new types.NMapUint64String()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a04000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "52012a04000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.NStruct{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NStruct({
-  'a': false,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.NStruct()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a040000e1e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a040000e1e1",
-},
-{
-  'name': "types.StructAny{Any: types.NUnion{A: false}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NUnion({ "a": false }, true), new types.NUnion()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0500000000e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0500000000e1",
-},
-{
-  'name': "types.StructAny{Any: types.StructMap{}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.StructMap({
-  'map': new Map([]),
-}, true), new types.StructMap()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a040000e1e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e1",
-  'hexValue': "52012a040000e1e1",
-},
-{
-  'name': "types.StructAny{Any: types.StructMap{Map: {0: 0}}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.StructMap({
-  'map': new Map([
-  [new vdl.BigInt(0, new Uint8Array([])), new vdl.BigInt(0, new Uint8Array([]))]]),
-}, true), new types.StructMap()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e152012a08000000010000e1e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e155060501090209e15333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012be1e1",
-  'hexValue': "52012a08000000010000e1e1",
-},
-{
-  'name': "types.StructAny{Any: typeobject(any)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': vdl.types.ANY,
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0f04000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52020e0f04000001e1",
-},
-{
-  'name': "?types.StructAny(nil)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))(null, true), _type8),
-  'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1520001e0",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "520001e0",
-},
-{
-  'name': "?types.StructAny{}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))({
-  'any': null,
-}, true), _type8),
-  'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1520001e1",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "520001e1",
-},
-{
-  'name': "?types.StructAny{Any: false}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
-}, true), _type8),
-  'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae152010104000000e1",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae1",
-  'hexValue': "52010104000000e1",
-},
-{
-  'name': "?types.StructAny{Any: types.StructMap{}}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))({
-  'any': canonicalize.reduce(new types.StructMap({
-  'map': new Map([]),
-}, true), new types.StructMap()._type),
-}, true), _type8),
-  'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b040000e1e1",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e1",
-  'hexValue': "52012b040000e1e1",
-},
-{
-  'name': "?types.StructAny{Any: types.StructMap{Map: {0: 0}}}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type8))({
-  'any': canonicalize.reduce(new types.StructMap({
-  'map': new Map([
-  [new vdl.BigInt(0, new Uint8Array([])), new vdl.BigInt(0, new Uint8Array([]))]]),
-}, true), new types.StructMap()._type),
-}, true), _type8),
-  'typeString': "?v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e152012b08000000010000e1e1",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510408012ae157060501090209e15533060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d6170010100034d6170012ce1e1",
-  'hexValue': "52012b08000000010000e1e1",
-},
-{
-  'name': "types.StructAny{Any: true}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010104000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010104000001e1",
-},
-{
-  'name': "types.StructAny{Any: byte(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(1, true), vdl.types.BYTE),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010204000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010204000001e1",
-},
-{
-  'name': "types.StructAny{Any: int16(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(1, true), vdl.types.INT16),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010704000002e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010704000002e1",
-},
-{
-  'name': "types.StructAny{Any: int32(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(1, true), vdl.types.INT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010804000002e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010804000002e1",
-},
-{
-  'name': "types.StructAny{Any: int64(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.INT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010904000002e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010904000002e1",
-},
-{
-  'name': "types.StructAny{Any: uint16(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(1, true), vdl.types.UINT16),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010404000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010404000001e1",
-},
-{
-  'name': "types.StructAny{Any: uint32(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(1, true), vdl.types.UINT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010504000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010504000001e1",
-},
-{
-  'name': "types.StructAny{Any: uint64(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.UINT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010604000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010604000001e1",
-},
-{
-  'name': "types.StructAny{Any: float32(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(1, true), vdl.types.FLOAT32),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010a060000fef03fe1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010a060000fef03fe1",
-},
-{
-  'name': "types.StructAny{Any: float64(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(1, true), vdl.types.FLOAT64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010b060000fef03fe1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010b060000fef03fe1",
-},
-{
-  'name': "types.StructAny{Any: complex64(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX64),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010c070000fef03f00e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010c070000fef03f00e1",
-},
-{
-  'name': "types.StructAny{Any: complex128(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX128),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152010d070000fef03f00e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52010d070000fef03f00e1",
-},
-{
-  'name': "types.StructAny{Any: \"A\"}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201030500000141e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "5201030500000141e1",
-},
-{
-  'name': "types.StructAny{Any: []byte(\"A\")}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-65,
-]), true), _type2),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15201270500000141e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "5201270500000141e1",
-},
-{
-  'name': "types.StructAny{Any: types.FoodEnum.Cherry}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': types.FoodEnum.CHERRY,
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e152012a04000002e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "52012a04000002e1",
-},
-{
-  'name': "types.StructAny{Any: types.NListUint64{1}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NListUint64([
-new vdl.BigInt(1, new Uint8Array([0x1])),
-], true), new types.NListUint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152012a0500000101e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "52012a0500000101e1",
-},
-{
-  'name': "types.StructAny{Any: types.NByteArray(\"Abcd\")}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-65,
-98,
-99,
-100,
-]), true), new types.NByteArray()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e152012a0800000041626364e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "52012a0800000041626364e1",
-},
-{
-  'name': "types.StructAny{Any: types.NArray2Uint64{0, 1}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NArray2Uint64([
-new vdl.BigInt(0, new Uint8Array([])),
-new vdl.BigInt(1, new Uint8Array([0x1])),
-], true), new types.NArray2Uint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e152012a060000000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e15331020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "52012a060000000001e1",
-},
-{
-  'name': "types.StructAny{Any: types.NSetUint64{1}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NSetUint64(new Set([
-  new vdl.BigInt(1, new Uint8Array([0x1])), ]), true), new types.NSetUint64()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152012a0500000101e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1532c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52012a0500000101e1",
-},
-{
-  'name': "types.StructAny{Any: types.NMapUint64String{1: \"A\"}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NMapUint64String(new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x1])), "A"]]), true), new types.NMapUint64String()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e152012a07000001010141e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "52012a07000001010141e1",
-},
-{
-  'name': "types.StructAny{Any: types.NStruct{A: true}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NStruct({
-  'a': true,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.NStruct()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152012a0600000001e1e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0600000001e1e1",
-},
-{
-  'name': "types.StructAny{Any: types.NUnion{A: true}}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new types.NUnion({ "a": true }, true), new types.NUnion()._type),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152012a0500000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1533a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52012a0500000001e1",
-},
-{
-  'name': "types.StructAny{Any: typeobject(bool)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': vdl.types.BOOL,
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152020e0104000001e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52020e0104000001e1",
-},
-{
-  'name': "any(nil)",
-  'value': null,
-  'typeString': "any",
-  'hex': "821e0001e0",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1e0001e0",
-},
-{
-  'name': "false",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
-  'typeString': "bool",
-  'hex': "820200",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0200",
-},
-{
-  'name': "byte(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(0, true), vdl.types.BYTE),
-  'typeString': "byte",
-  'hex': "820400",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0400",
-},
-{
-  'name': "int16(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(0, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e00",
-},
-{
-  'name': "int32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(0, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "821000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1000",
-},
-{
-  'name': "int64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821200",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1200",
-},
-{
-  'name': "uint16(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(0, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820800",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0800",
-},
-{
-  'name': "uint32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(0, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820a00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0a00",
-},
-{
-  'name': "uint64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(0, new Uint8Array([])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820c00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0c00",
-},
-{
-  'name': "float32(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(0, true), vdl.types.FLOAT32),
-  'typeString': "float32",
-  'hex': "821400",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1400",
-},
-{
-  'name': "float64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(0, true), vdl.types.FLOAT64),
-  'typeString': "float64",
-  'hex': "821600",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1600",
-},
-{
-  'name': "complex64(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX64),
-  'typeString': "complex64",
-  'hex': "8218020000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "18020000",
-},
-{
-  'name': "complex128(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(0.000000, 0.000000), true), vdl.types.COMPLEX128),
-  'typeString': "complex128",
-  'hex': "821a020000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1a020000",
-},
-{
-  'name': "\"\"",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("", true), vdl.types.STRING),
-  'typeString': "string",
-  'hex': "820600",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0600",
-},
-{
-  'name': "[]byte(\"\")",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-]), true), _type2),
-  'typeString': "[]byte",
-  'hex': "824e00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "4e00",
-},
-{
-  'name': "types.FoodEnum.Bean",
-  'value': types.FoodEnum.BEAN,
-  'typeString': "v.io/v23/vom/testdata/types.FoodEnum enum{Bean;Brie;Cherry}",
-  'hex': "82513b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e15200",
-  'hexVersion': "82",
-  'hexType': "513b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NListUint64{}",
-  'value': canonicalize.reduce(new types.NListUint64([
-], true), new types.NListUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NListUint64 []uint64",
-  'hex': "82512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1520100",
-  'hexVersion': "82",
-  'hexType': "512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "520100",
-},
-{
-  'name': "types.NByteArray(\"\\x00\\x00\\x00\\x00\")",
-  'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-0,
-0,
-0,
-0,
-]), true), new types.NByteArray()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "82512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520000000000",
-  'hexVersion': "82",
-  'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520000000000",
-},
-{
-  'name': "types.NArray2Uint64{}",
-  'value': canonicalize.reduce(new types.NArray2Uint64([
-new vdl.BigInt(0, new Uint8Array([])),
-new vdl.BigInt(0, new Uint8Array([])),
-], true), new types.NArray2Uint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NArray2Uint64 [2]uint64",
-  'hex': "825131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e15203000000",
-  'hexVersion': "82",
-  'hexType': "5131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "5203000000",
-},
-{
-  'name': "types.NSetUint64{}",
-  'value': canonicalize.reduce(new types.NSetUint64(new Set([]), true), new types.NSetUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NSetUint64 set[uint64]",
-  'hex': "82512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1520100",
-  'hexVersion': "82",
-  'hexType': "512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "520100",
-},
-{
-  'name': "types.NMapUint64String{}",
-  'value': canonicalize.reduce(new types.NMapUint64String(new Map([]), true), new types.NMapUint64String()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NMapUint64String map[uint64]string",
-  'hex': "82513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1520100",
-  'hexVersion': "82",
-  'hexType': "513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "520100",
-},
-{
-  'name': "types.NStruct{}",
-  'value': canonicalize.reduce(new types.NStruct({
-  'a': false,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.NStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e15201e1",
-  'hexVersion': "82",
-  'hexType': "513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "5201e1",
-},
-{
-  'name': "types.NUnion{A: false}",
-  'value': canonicalize.reduce(new types.NUnion({ "a": false }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020000",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020000",
-},
-{
-  'name': "typeobject(any)",
-  'value': vdl.types.ANY,
-  'typeString': "typeobject",
-  'hex': "821c010f00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010f00",
-},
-{
-  'name': "true",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
-  'typeString': "bool",
-  'hex': "820201",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0201",
-},
-{
-  'name': "byte(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(1, true), vdl.types.BYTE),
-  'typeString': "byte",
-  'hex': "820401",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0401",
-},
-{
-  'name': "int16(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT16))(1, true), vdl.types.INT16),
-  'typeString': "int16",
-  'hex': "820e02",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0e02",
-},
-{
-  'name': "int32(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(1, true), vdl.types.INT32),
-  'typeString': "int32",
-  'hex': "821002",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1002",
-},
-{
-  'name': "int64(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.INT64),
-  'typeString': "int64",
-  'hex': "821202",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1202",
-},
-{
-  'name': "uint16(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(1, true), vdl.types.UINT16),
-  'typeString': "uint16",
-  'hex': "820801",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0801",
-},
-{
-  'name': "uint32(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT32))(1, true), vdl.types.UINT32),
-  'typeString': "uint32",
-  'hex': "820a01",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0a01",
-},
-{
-  'name': "uint64(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT64))(new vdl.BigInt(1, new Uint8Array([0x1])), true), vdl.types.UINT64),
-  'typeString': "uint64",
-  'hex': "820c01",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "0c01",
-},
-{
-  'name': "float32(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT32))(1, true), vdl.types.FLOAT32),
-  'typeString': "float32",
-  'hex': "8214fef03f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "14fef03f",
-},
-{
-  'name': "float64(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(1, true), vdl.types.FLOAT64),
-  'typeString': "float64",
-  'hex': "8216fef03f",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "16fef03f",
-},
-{
-  'name': "complex64(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX64))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX64),
-  'typeString': "complex64",
-  'hex': "821804fef03f00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1804fef03f00",
-},
-{
-  'name': "complex128(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(1.000000, 0.000000), true), vdl.types.COMPLEX128),
-  'typeString': "complex128",
-  'hex': "821a04fef03f00",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1a04fef03f00",
-},
-{
-  'name': "\"A\"",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
-  'typeString': "string",
-  'hex': "82060141",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "060141",
-},
-{
-  'name': "[]byte(\"A\")",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-65,
-]), true), _type2),
-  'typeString': "[]byte",
-  'hex': "824e0141",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "4e0141",
-},
-{
-  'name': "types.FoodEnum.Cherry",
-  'value': types.FoodEnum.CHERRY,
-  'typeString': "v.io/v23/vom/testdata/types.FoodEnum enum{Bean;Brie;Cherry}",
-  'hex': "82513b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e15202",
-  'hexVersion': "82",
-  'hexType': "513b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1",
-  'hexValue': "5202",
-},
-{
-  'name': "types.NListUint64{1}",
-  'value': canonicalize.reduce(new types.NListUint64([
-new vdl.BigInt(1, new Uint8Array([0x1])),
-], true), new types.NListUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NListUint64 []uint64",
-  'hex': "82512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e152020101",
-  'hexVersion': "82",
-  'hexType': "512d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1",
-  'hexValue': "52020101",
-},
-{
-  'name': "types.NByteArray(\"Abcd\")",
-  'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
-65,
-98,
-99,
-100,
-]), true), new types.NByteArray()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "82512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520041626364",
-  'hexVersion': "82",
-  'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520041626364",
-},
-{
-  'name': "types.NArray2Uint64{0, 1}",
-  'value': canonicalize.reduce(new types.NArray2Uint64([
-new vdl.BigInt(0, new Uint8Array([])),
-new vdl.BigInt(1, new Uint8Array([0x1])),
-], true), new types.NArray2Uint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NArray2Uint64 [2]uint64",
-  'hex': "825131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e15203000001",
-  'hexVersion': "82",
-  'hexType': "5131020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e1",
-  'hexValue': "5203000001",
-},
-{
-  'name': "types.NSetUint64{1}",
-  'value': canonicalize.reduce(new types.NSetUint64(new Set([
-  new vdl.BigInt(1, new Uint8Array([0x1])), ]), true), new types.NSetUint64()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NSetUint64 set[uint64]",
-  'hex': "82512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e152020101",
-  'hexVersion': "82",
-  'hexType': "512c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e1",
-  'hexValue': "52020101",
-},
-{
-  'name': "types.NMapUint64String{1: \"A\"}",
-  'value': canonicalize.reduce(new types.NMapUint64String(new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x1])), "A"]]), true), new types.NMapUint64String()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NMapUint64String map[uint64]string",
-  'hex': "82513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1520401010141",
-  'hexVersion': "82",
-  'hexType': "513405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1",
-  'hexValue': "520401010141",
-},
-{
-  'name': "types.NStruct{A: true}",
-  'value': canonicalize.reduce(new types.NStruct({
-  'a': true,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.NStruct()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64}",
-  'hex': "82513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e152030001e1",
-  'hexVersion': "82",
-  'hexType': "513b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52030001e1",
-},
-{
-  'name': "types.NUnion{A: true}",
-  'value': canonicalize.reduce(new types.NUnion({ "a": true }, true), new types.NUnion()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64}",
-  'hex': "82513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e152020001",
-  'hexVersion': "82",
-  'hexType': "513a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e1",
-  'hexValue': "52020001",
-},
-{
-  'name': "typeobject(bool)",
-  'value': vdl.types.BOOL,
-  'typeString': "typeobject",
-  'hex': "821c010100",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c010100",
-},
-{
-  'name': "types.StructManyTypes{Bool: true, AByte: 1, Int16: 1, Int32: 1, Int64: 1, Uint16: 1, Uint32: 1, Uint64: 1, String: \"A\", Bytes: \"A\", Float32: 1, Float64: 1, Complex64: 1, Complex128: 1, FoodEnum: types.FoodEnum.Cherry, NListUint64: {1}, NByteArray: \"Abcd\", NArray2Uint64: {0, 1}, NSetUint64: {1}, NMapUint64String: {1: \"A\"}, NStruct: {A: true}, NUnion: {A: true}, TypeObject: typeobject(bool)}",
-  'value': canonicalize.reduce(new types.StructManyTypes({
-  'bool': true,
-  'aByte': 1,
-  'int16': 1,
-  'int32': 1,
-  'int64': new vdl.BigInt(1, new Uint8Array([0x1])),
-  'uint16': 1,
-  'uint32': 1,
-  'uint64': new vdl.BigInt(1, new Uint8Array([0x1])),
-  'string': "A",
-  'bytes': new Uint8Array([
-65,
-]),
-  'float32': 1,
-  'float64': 1,
-  'complex64': new vdl.Complex(1.000000, 0.000000),
-  'complex128': new vdl.Complex(1.000000, 0.000000),
-  'foodEnum': 'Cherry',
-  'nEnum': 'A',
-  'nListUint64': [
-new vdl.BigInt(1, new Uint8Array([0x1])),
-],
-  'nByteArray': new Uint8Array([
-65,
-98,
-99,
-100,
-]),
-  'nArray2Uint64': [
-new vdl.BigInt(0, new Uint8Array([])),
-new vdl.BigInt(1, new Uint8Array([0x1])),
-],
-  'nSetUint64': new Set([
-  new vdl.BigInt(1, new Uint8Array([0x1])), ]),
-  'nMapUint64String': new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x1])), "A"]]),
-  'nStruct': {
-  'a': true,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-},
-  'nUnion': { "a": true },
-  'typeObject': vdl.types.BOOL,
-}, true), new types.StructManyTypes()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructManyTypes struct{Bool bool;AByte byte;Int16 int16;Int32 int32;Int64 int64;Uint16 uint16;Uint32 uint32;Uint64 uint64;String string;Bytes []byte;Float32 float32;Float64 float64;Complex64 complex64;Complex128 complex128;FoodEnum v.io/v23/vom/testdata/types.FoodEnum enum{Bean;Brie;Cherry};NEnum v.io/v23/vom/testdata/types.NEnum enum{A;B;C};NListUint64 v.io/v23/vom/testdata/types.NListUint64 []uint64;NByteArray v.io/v23/vom/testdata/types.NByteArray [4]byte;NArray2Uint64 v.io/v23/vom/testdata/types.NArray2Uint64 [2]uint64;NSetUint64 v.io/v23/vom/testdata/types.NSetUint64 set[uint64];NMapUint64String v.io/v23/vom/testdata/types.NMapUint64String map[uint64]string;NStruct v.io/v23/vom/testdata/types.NStruct struct{A bool;B string;C int64};NUnion v.io/v23/vom/testdata/types.NUnion union{A bool;B string;C int64};TypeObject typeobject}",
-  'hex': "82533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1552d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1572d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1592e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e15b31020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e15d2c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e15f3405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1613b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1633a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e151fe015f06002b762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d616e79547970657301180004426f6f6c0101e1000541427974650102e10005496e7431360107e10005496e7433320108e10005496e7436340109e1000655696e7431360104e1000655696e7433320105e1000655696e7436340106e10006537472696e670103e1000542797465730127e10007466c6f61743332010ae10007466c6f61743634010be10009436f6d706c65783634010ce1000a436f6d706c6578313238010de10008466f6f64456e756d012ae100054e456e756d012be1000b4e4c69737455696e743634012ce1000a4e427974654172726179012de1000d4e41727261793255696e743634012ee1000a4e53657455696e743634012fe100104e4d617055696e743634537472696e670130e100074e5374727563740131e100064e556e696f6e0132e1000a547970654f626a656374010ee1e152010149000101010202030204020501060107010801410901410afef03f0bfef03f0cfef03f000dfef03f000e02100101110041626364120000011301011401010141150001e11600011700e1",
-  'hexVersion': "82",
-  'hexType': "533b010024762e696f2f7632332f766f6d2f74657374646174612f74797065732e466f6f64456e756d0103044265616e044272696506436865727279e1552d010021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e456e756d0103014101420143e1572d030027762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4c69737455696e7436340106e1592e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e15b31020029762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e41727261793255696e74363401060202e15d2c040026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53657455696e7436340106e15f3405002c762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e4d617055696e743634537472696e6701060203e1613b060023762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e53747275637401030001410101e10001420103e10001430109e1e1633a070022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e556e696f6e01030001410101e10001420103e10001430109e1e151fe015f06002b762e696f2f7632332f766f6d2f74657374646174612f74797065732e5374727563744d616e79547970657301180004426f6f6c0101e1000541427974650102e10005496e7431360107e10005496e7433320108e10005496e7436340109e1000655696e7431360104e1000655696e7433320105e1000655696e7436340106e10006537472696e670103e1000542797465730127e10007466c6f61743332010ae10007466c6f61743634010be10009436f6d706c65783634010ce1000a436f6d706c6578313238010de10008466f6f64456e756d012ae100054e456e756d012be1000b4e4c69737455696e743634012ce1000a4e427974654172726179012de1000d4e41727261793255696e743634012ee1000a4e53657455696e743634012fe100104e4d617055696e743634537472696e670130e100074e5374727563740131e100064e556e696f6e0132e1000a547970654f626a656374010ee1e1",
-  'hexValue': "52010149000101010202030204020501060107010801410901410afef03f0bfef03f0cfef03f000dfef03f000e02100101110041626364120000011301011401010141150001e11600011700e1",
-},
-{
-  'name': "types.AnySlice{types.NInt16(1), types.NInt32(2), types.NInt64(3), types.NInt32(4)}",
-  'value': canonicalize.reduce(new types.AnySlice([
-canonicalize.reduce(new types.NInt16(1, true), new types.NInt16()._type),
-canonicalize.reduce(new types.NInt32(2, true), new types.NInt32()._type),
-canonicalize.reduce(new types.NInt64(new vdl.BigInt(1, new Uint8Array([0x3])), true), new types.NInt64()._type),
-canonicalize.reduce(new types.NInt32(4, true), new types.NInt32()._type),
-], true), new types.AnySlice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.AnySlice []any",
-  'hex': "82512a030024762e696f2f7632332f766f6d2f74657374646174612f74797065732e416e79536c696365010fe15328000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032a2b2c09040002010402060108",
-  'hexVersion': "82",
-  'hexType': "512a030024762e696f2f7632332f766f6d2f74657374646174612f74797065732e416e79536c696365010fe15328000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52032a2b2c09040002010402060108",
-},
-{
-  'name': "[]types.StructAny{{Any: types.NInt16(1)}, {Any: types.NInt32(2)}, {Any: types.NInt64(3)}, {Any: types.NInt32(4)}}",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type9))([
-{
-  'any': canonicalize.reduce(new types.NInt16(1, true), new types.NInt16()._type),
-},
-{
-  'any': canonicalize.reduce(new types.NInt32(2, true), new types.NInt32()._type),
-},
-{
-  'any': canonicalize.reduce(new types.NInt64(new vdl.BigInt(1, new Uint8Array([0x3])), true), new types.NInt64()._type),
-},
-{
-  'any': canonicalize.reduce(new types.NInt32(4, true), new types.NInt32()._type),
-},
-], true), _type9),
-  'typeString': "[]v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e152032b2c2d1104000002e1000104e1000206e1000108e1",
-  'hexVersion': "82",
-  'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
-  'hexValue': "52032b2c2d1104000002e1000104e1000206e1000108e1",
-},
-{
-  'name': "int8(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "822000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "2000",
-},
-{
-  'name': "int8(-128)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(-128, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "8220ffff",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "20ffff",
-},
-{
-  'name': "int8(127)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(127, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "8220fffe",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "20fffe",
-},
-{
-  'name': "types.NInt8(0)",
-  'value': canonicalize.reduce(new types.NInt8(0, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e15200",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "5200",
-},
-{
-  'name': "types.NInt8(-128)",
-  'value': canonicalize.reduce(new types.NInt8(-128, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152ffff",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "52ffff",
-},
-{
-  'name': "types.NInt8(127)",
-  'value': canonicalize.reduce(new types.NInt8(127, true), new types.NInt8()._type),
-  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
-  'hex': "825127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152fffe",
-  'hexVersion': "82",
-  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
-  'hexValue': "52fffe",
-},
-{
-  'name': "int8(0)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "822000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "2000",
-},
-{
-  'name': "int8(1)",
-  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
-  'typeString': "int8",
-  'hex': "822002",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "2002",
-},
-{
-  'name': "typeobject(int8)",
-  'value': vdl.types.INT8,
-  'typeString': "typeobject",
-  'hex': "821c011000",
-  'hexVersion': "82",
-  'hexType': "",
-  'hexValue': "1c011000",
-},
-{
-  'name': "types.MInt8Slice{-128, -1, 0, 127}",
-  'value': canonicalize.reduce(new types.MInt8Slice([
--128,
--1,
-0,
-127,
-], true), new types.MInt8Slice()._type),
-  'typeString': "v.io/v23/vom/testdata/types.MInt8Slice []int8",
-  'hex': "82512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1520704ffff0100fffe",
-  'hexVersion': "82",
-  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1",
-  'hexValue': "520704ffff0100fffe",
-},
-{
-  'name': "types.StructAny{Any: int8(1)}",
-  'value': canonicalize.reduce(new types.StructAny({
-  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
-}, true), new types.StructAny()._type),
-  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
-  'hex': "825133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152011004000002e1",
-  'hexVersion': "82",
-  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
-  'hexValue': "52011004000002e1",
-},
-], true), _type1);
-
-  module.exports.CompatTests = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type10))(new Map([
-  ["bool", [
-vdl.types.BOOL,
-new types.NBool()._type,
-new types.MBool()._type,
-]],
-  ["map[X]bool/set[X]", [
-new types.SetOnlyMap()._type,
-new types.MapOnlySet()._type,
-new types.SometimesSetMap()._type,
-]],
-  ["map[string]X/struct", [
-new types.MapOnlyStruct()._type,
-new types.StructOnlyMap()._type,
-]],
-  ["map[string]bool/set[string]/struct", [
-new types.MapSetStruct()._type,
-new types.SetStructMap()._type,
-new types.MapStructSet()._type,
-]],
-  ["number list/array", [
-_type11,
-new types.NArray2Uint64()._type,
-new types.NListUint64()._type,
-]],
-  ["number", [
-vdl.types.UINT16,
-vdl.types.UINT32,
-vdl.types.UINT64,
-vdl.types.INT16,
-vdl.types.INT32,
-vdl.types.INT64,
-vdl.types.FLOAT32,
-vdl.types.FLOAT64,
-vdl.types.COMPLEX64,
-vdl.types.COMPLEX128,
-new types.NUint16()._type,
-new types.NUint32()._type,
-new types.NUint64()._type,
-new types.NInt16()._type,
-new types.NInt32()._type,
-new types.NInt64()._type,
-new types.NFloat32()._type,
-new types.NFloat64()._type,
-new types.NComplex64()._type,
-new types.NComplex128()._type,
-]],
-  ["string list/array", [
-_type12,
-new types.ListString()._type,
-new types.Array3String()._type,
-new types.Array4String()._type,
-]],
-  ["string/[]byte/enum", [
-vdl.types.STRING,
-new types.NString()._type,
-_type2,
-new types.NByteSlice()._type,
-new types.NByteArray()._type,
-types.NEnum.A._type,
-]],
-  ["struct A", [
-new types.NStruct()._type,
-new types.AbcStruct()._type,
-new types.AdeStruct()._type,
-]],
-  ["struct Z", [
-new types.XyzStruct()._type,
-new types.YzStruct()._type,
-new types.ZStruct()._type,
-]],
-  ["typeobject", [
-vdl.types.TYPEOBJECT,
-]],
-  ["union B", [
-new types.NUnion()._type,
-new types.BdeUnion()._type,
-]]]), true), _type10);
-
-  module.exports.ConvertTests = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type13))(new Map([
-  ["array/list", [
-{
-  'name': "[3]string",
-  'primaryType': new types.Array3String()._type,
-  'values': [
-canonicalize.reduce(new types.Array3String([
-"A",
-"B",
-"C",
-], true), new types.Array3String()._type),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type12))([
-"A",
-"B",
-"C",
-], true), _type12),
-],
-},
-{
-  'name': "[4]string",
-  'primaryType': new types.Array4String()._type,
-  'values': [
-canonicalize.reduce(new types.Array4String([
-"D",
-"E",
-"F",
-"G",
-], true), new types.Array4String()._type),
-],
-},
-{
-  'name': "ByteArray",
-  'primaryType': new types.NByteArray()._type,
-  'values': [
-canonicalize.reduce(new types.NByteArray(new Uint8Array([
-5,
-2,
-0,
-4,
-]), true), new types.NByteArray()._type),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-5,
-2,
-0,
-4,
-]), true), _type2),
-],
-},
-]],
-  ["bool", [
-{
-  'name': "bool",
-  'primaryType': vdl.types.BOOL,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL),
-canonicalize.reduce(new types.NBool(true, true), new types.NBool()._type),
-canonicalize.reduce(new types.MBool(true, true), new types.MBool()._type),
-],
-},
-]],
-  ["number", [
-{
-  'name': "byte",
-  'primaryType': vdl.types.BYTE,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(3, true), vdl.types.BYTE),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(3, true), vdl.types.UINT16),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(3, true), vdl.types.INT32),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(3, true), vdl.types.FLOAT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x3])), true), vdl.types.INT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(3.000000, 0.000000), true), vdl.types.COMPLEX128),
-],
-},
-{
-  'name': "uint16",
-  'primaryType': vdl.types.UINT16,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.UINT16))(256, true), vdl.types.UINT16),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(256, true), vdl.types.INT32),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(256, true), vdl.types.FLOAT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(1, new Uint8Array([0x1, 0x0])), true), vdl.types.INT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(256.000000, 0.000000), true), vdl.types.COMPLEX128),
-],
-},
-{
-  'name': "int32",
-  'primaryType': vdl.types.INT32,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT32))(-5, true), vdl.types.INT32),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(-5, true), vdl.types.FLOAT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x5])), true), vdl.types.INT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(-5.000000, 0.000000), true), vdl.types.COMPLEX128),
-],
-},
-{
-  'name': "float64",
-  'primaryType': vdl.types.FLOAT64,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.FLOAT64))(3.3, true), vdl.types.FLOAT64),
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(3.300000, 0.000000), true), vdl.types.COMPLEX128),
-],
-},
-{
-  'name': "int64",
-  'primaryType': vdl.types.INT64,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT64))(new vdl.BigInt(-1, new Uint8Array([0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0])), true), vdl.types.INT64),
-],
-},
-{
-  'name': "complex128",
-  'primaryType': vdl.types.COMPLEX128,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.COMPLEX128))(new vdl.Complex(1.500000, -1.000000), true), vdl.types.COMPLEX128),
-],
-},
-]],
-  ["string and enum", [
-{
-  'name': "enum (A)",
-  'primaryType': types.NEnum.A._type,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
-canonicalize.reduce(new types.NString("A", true), new types.NString()._type),
-types.NEnum.A,
-],
-},
-{
-  'name': "enum (brie)",
-  'primaryType': types.BrieEnum.GLEE._type,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Brie", true), vdl.types.STRING),
-canonicalize.reduce(new types.NString("Brie", true), new types.NString()._type),
-types.BrieEnum.BRIE,
-types.FoodEnum.BRIE,
-],
-},
-{
-  'name': "string",
-  'primaryType': new types.NString()._type,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Cherry", true), vdl.types.STRING),
-canonicalize.reduce(new types.NString("Cherry", true), new types.NString()._type),
-types.FoodEnum.CHERRY,
-],
-},
-]],
-  ["struct, map, and set", [
-{
-  'name': "map[uint32]uint32",
-  'primaryType': new types.MapOnlyA()._type,
-  'values': [
-canonicalize.reduce(new types.MapOnlyA(new Map([
-  [4, 0],
-  [6, 7]]), true), new types.MapOnlyA()._type),
-canonicalize.reduce(new types.MapOnlyA2(new Map([
-  [new vdl.BigInt(1, new Uint8Array([0x4])), 0],
-  [new vdl.BigInt(1, new Uint8Array([0x6])), 7]]), true), new types.MapOnlyA2()._type),
-],
-},
-{
-  'name': "map[bool]string",
-  'primaryType': new types.MapOnlyB()._type,
-  'values': [
-canonicalize.reduce(new types.MapOnlyB(new Map([
-  [true, "hello"]]), true), new types.MapOnlyB()._type),
-canonicalize.reduce(new types.MapOnlyB2(new Map([
-  [true, "hello"]]), true), new types.MapOnlyB2()._type),
-],
-},
-{
-  'name': "set[bool]",
-  'primaryType': new types.SetOnlyA()._type,
-  'values': [
-canonicalize.reduce(new types.SetOnlyA(new Set([
-  false, 
-  true, ]), true), new types.SetOnlyA()._type),
-canonicalize.reduce(new types.SetOnlyA2(new Set([
-  false, 
-  true, ]), true), new types.SetOnlyA2()._type),
-],
-},
-{
-  'name': "set[int16]",
-  'primaryType': new types.SetOnlyB()._type,
-  'values': [
-canonicalize.reduce(new types.SetOnlyB(new Set([
-  4, 
-  6, ]), true), new types.SetOnlyB()._type),
-canonicalize.reduce(new types.SetOnlyB2(new Set([
-  4, 
-  6, ]), true), new types.SetOnlyB2()._type),
-],
-},
-{
-  'name': "structABC",
-  'primaryType': new types.AbcStruct()._type,
-  'values': [
-canonicalize.reduce(new types.AbcStruct({
-  'a': true,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.AbcStruct()._type),
-canonicalize.reduce(new types.AdeStruct({
-  'a': true,
-  'd': null,
-  'e': vdl.types.ANY,
-}, true), new types.AdeStruct()._type),
-canonicalize.reduce(new types.NStruct({
-  'a': true,
-  'b': "",
-  'c': new vdl.BigInt(0, new Uint8Array([])),
-}, true), new types.NStruct()._type),
-],
-},
-{
-  'name': "structYz",
-  'primaryType': new types.YzStruct()._type,
-  'values': [
-canonicalize.reduce(new types.XyzStruct({
-  'x': false,
-  'y': false,
-  'z': "ahoy",
-}, true), new types.XyzStruct()._type),
-canonicalize.reduce(new types.YzStruct({
-  'y': false,
-  'z': "ahoy",
-}, true), new types.YzStruct()._type),
-canonicalize.reduce(new types.ZStruct({
-  'z': "ahoy",
-}, true), new types.ZStruct()._type),
-],
-},
-{
-  'name': "struct+map",
-  'primaryType': new types.MapOnlyStruct()._type,
-  'values': [
-canonicalize.reduce(new types.StructOnlyMap(new Map([
-  ["Key1", new vdl.BigInt(1, new Uint8Array([0x4]))],
-  ["Key2", new vdl.BigInt(1, new Uint8Array([0x5]))],
-  ["Key3", new vdl.BigInt(0, new Uint8Array([]))]]), true), new types.StructOnlyMap()._type),
-canonicalize.reduce(new types.MapOnlyStruct({
-  'key1': new vdl.BigInt(1, new Uint8Array([0x4])),
-  'key2': 5,
-  'key3': new vdl.Complex(0.000000, 0.000000),
-}, true), new types.MapOnlyStruct()._type),
-],
-},
-{
-  'name': "map+set",
-  'primaryType': new types.MapOnlySet()._type,
-  'values': [
-canonicalize.reduce(new types.MapOnlySet(new Set([
-  3.14, 
-  8, ]), true), new types.MapOnlySet()._type),
-canonicalize.reduce(new types.SometimesSetMap(new Map([
-  [3.14, canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL)],
-  [8, canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL)]]), true), new types.SometimesSetMap()._type),
-canonicalize.reduce(new types.SetOnlyMap(new Map([
-  [3.14, true],
-  [8, true]]), true), new types.SetOnlyMap()._type),
-],
-},
-{
-  'name': "map-set",
-  'primaryType': new types.SetOnlyMap()._type,
-  'values': [
-canonicalize.reduce(new types.SometimesSetMap(new Map([
-  [3.14, canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("cannot be a set anymore", true), vdl.types.STRING)],
-  [8, canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL)]]), true), new types.SometimesSetMap()._type),
-],
-},
-{
-  'name': "struct+map+set",
-  'primaryType': new types.MapStructSet()._type,
-  'values': [
-canonicalize.reduce(new types.MapStructSet(new Set([
-  "Eel", 
-  "Feat", 
-  "Tire", ]), true), new types.MapStructSet()._type),
-canonicalize.reduce(new types.SetStructMap(new Map([
-  ["Eel", true],
-  ["Feat", true],
-  ["Tire", true]]), true), new types.SetStructMap()._type),
-canonicalize.reduce(new types.MapSetStruct({
-  'feat': true,
-  'tire': true,
-  'eel': true,
-}, true), new types.MapSetStruct()._type),
-],
-},
-]],
-  ["typeobject", [
-{
-  'name': "typeobject(any)",
-  'primaryType': vdl.types.TYPEOBJECT,
-  'values': [
-vdl.types.ANY,
-],
-},
-]],
-  ["union", [
-{
-  'name': "BdeUnion",
-  'primaryType': new types.BdeUnion()._type,
-  'values': [
-canonicalize.reduce(new types.BdeUnion({ "b": "bde" }, true), new types.BdeUnion()._type),
-canonicalize.reduce(new types.NUnion({ "b": "bde" }, true), new types.NUnion()._type),
-],
-},
-{
-  'name': "BdeUnion fail",
-  'primaryType': new types.NUnion()._type,
-  'values': [
-canonicalize.reduce(new types.NUnion({ "a": true }, true), new types.NUnion()._type),
-],
-},
-]]]), true), _type13);
-
-
-
-// Errors:
-
-
-
-// Services:
-
-   
- 
-
-
diff --git a/src/vdl/type-util.js b/src/vdl/type-util.js
index 041c963..11306d3 100644
--- a/src/vdl/type-util.js
+++ b/src/vdl/type-util.js
@@ -11,7 +11,8 @@
 
 module.exports = {
   shouldSendLength: shouldSendLength,
-  hasAnyOrTypeObject: hasAnyOrTypeObject,
+  hasAny: hasAny,
+  hasTypeObject: hasTypeObject,
   unwrap: unwrap,
   unwrapNonDefault: unwrapNonDefault,
   recursiveUnwrap: recursiveUnwrap,
@@ -48,17 +49,58 @@
 }
 
 /**
- * Determines if the type contains a any or type object, recursively within
- * it.
+ * Determines if the type contains an any, recursively within it.
  * @private
  * @param {module:vanadium.vdl.Type} type The type.
  * @return {boolean} true if the type contains an any or type object.
  */
-function hasAnyOrTypeObject(type) {
-  return hasAnyOrTypeObjectInternal(type, new Set());
+function hasAny(type) {
+  return hasAnyInternal(type, new Set());
 }
 
-function hasAnyOrTypeObjectInternal(type, seen) {
+function hasAnyInternal(type, seen) {
+  if (seen.has(type)) {
+    return false;
+  }
+  seen.add(type);
+
+  switch (type.kind) {
+    case kind.ANY:
+      return true;
+    case kind.OPTIONAL:
+    case kind.LIST:
+    case kind.ARRAY:
+      return hasAnyInternal(type.elem, seen);
+    case kind.SET:
+      return hasAnyInternal(type.key, seen);
+    case kind.MAP:
+      return hasAnyInternal(type.key, seen) ||
+        hasAnyInternal(type.elem, seen);
+    case kind.UNION:
+    case kind.STRUCT:
+      for (var f = 0; f < type.fields.length; f++) {
+        var field = type.fields[f];
+        if (hasAnyInternal(field.type, seen)) {
+          return true;
+        }
+      }
+      return false;
+    default:
+      return false;
+  }
+}
+
+/**
+ * Determines if the type contains a type object, recursively within it.
+ * @private
+ * @param {module:vanadium.vdl.Type} type The type.
+ * @return {boolean} true if the type contains an any or type object.
+ */
+function hasTypeObject(type) {
+  return hasTypeObjectInternal(type, new Set());
+}
+
+function hasTypeObjectInternal(type, seen) {
   if (seen.has(type)) {
     return false;
   }
@@ -66,22 +108,21 @@
 
   switch (type.kind) {
     case kind.TYPEOBJECT:
-    case kind.ANY:
       return true;
     case kind.OPTIONAL:
     case kind.LIST:
     case kind.ARRAY:
-      return hasAnyOrTypeObjectInternal(type.elem, seen);
+      return hasTypeObjectInternal(type.elem, seen);
     case kind.SET:
-      return hasAnyOrTypeObjectInternal(type.key, seen);
+      return hasTypeObjectInternal(type.key, seen);
     case kind.MAP:
-      return hasAnyOrTypeObjectInternal(type.key, seen) ||
-        hasAnyOrTypeObjectInternal(type.elem, seen);
+      return hasTypeObjectInternal(type.key, seen) ||
+        hasTypeObjectInternal(type.elem, seen);
     case kind.UNION:
     case kind.STRUCT:
       for (var f = 0; f < type.fields.length; f++) {
         var field = type.fields[f];
-        if (hasAnyOrTypeObjectInternal(field.type, seen)) {
+        if (hasTypeObjectInternal(field.type, seen)) {
           return true;
         }
       }
diff --git a/src/vom/byte-message-reader.js b/src/vom/byte-message-reader.js
index 1a72af2..e7e53ed 100644
--- a/src/vom/byte-message-reader.js
+++ b/src/vom/byte-message-reader.js
@@ -41,6 +41,7 @@
  */
 ByteMessageReader.prototype.nextMessageType = function(typeDecoder) {
   this._typeIds = [];
+  this._anyLens = [];
   var bsmr = this;
   return this.headerPromise.then(function() {
     return bsmr.rawReader.tryReadControlByte();
@@ -68,7 +69,7 @@
     return typeDecoder.lookupType(typeId).then(function(type) {
       var next = Promise.resolve();
       if (bsmr._version !== versions.version80 &&
-        TypeUtil.hasAnyOrTypeObject(type)) {
+        (TypeUtil.hasAny(type) || TypeUtil.hasTypeObject(type))) {
         next = bsmr.rawReader.readUint().then(function(typeIdLen) {
           var next = Promise.resolve();
           var addTypeId = function() {
@@ -82,6 +83,22 @@
           return next;
         });
       }
+      if (bsmr._version !== versions.version80 && TypeUtil.hasAny(type)) {
+        next = next.then(function() {
+            return bsmr.rawReader.readUint().then(function(anyLensLen) {
+              var next = Promise.resolve();
+              var addAnyLen = function() {
+                return bsmr.rawReader.readUint().then(function(len) {
+                  bsmr._anyLens.push(len);
+                });
+              };
+              for (var i = 0; i < anyLensLen; i++) {
+                next = next.then(addAnyLen);
+              }
+              return next;
+          });
+        });
+      }
       return next.then(function() {
         if (TypeUtil.shouldSendLength(type)) {
           return bsmr.rawReader.readUint().then(function() {
diff --git a/src/vom/byte-message-writer.js b/src/vom/byte-message-writer.js
index a85cf1b..cef631b 100644
--- a/src/vom/byte-message-writer.js
+++ b/src/vom/byte-message-writer.js
@@ -22,7 +22,7 @@
  */
 function ByteMessageWriter(version) {
   if (!version) {
-    version = versions.version80;
+    version = versions.defaultVersion;
   }
   this._version = version;
   this.rawWriter = new RawVomWriter();
@@ -35,23 +35,31 @@
  * @param {number} typeId The type ID of the message.
  * @param {boolean} sendLength true if the message length should be sent in the
  * header, false otherwise.
- * @param {boolean} hasAnyOrTypeObject true if the message contains an any
- * or a type object, false otherwise.
+ * @param {boolean} hasAny true if the message contains an any, false otherwise.
+ * @param {boolean} hasTypeObject true if the message contains a type object,
+ * false otherwise.
  * @param {Array.<number>} typeIds a list of referenced type ids, in order.
  * @param {Uint8Array} message The body of the message.
  */
 ByteMessageWriter.prototype.writeValueMessage = function(
-  typeId, sendLength, hasAnyOrTypeObject, typeIds, message) {
+  typeId, sendLength, hasAny, hasTypeObject, typeIds, anyLens, message) {
   if (typeId <= 0) {
     throw new Error('Type ids should be positive integers.');
   }
   this.rawWriter.writeInt(typeId);
-  if (this._version !== versions.version80 && hasAnyOrTypeObject) {
+  var i;
+  if (this._version !== versions.version80 && (hasAny || hasTypeObject)) {
     this.rawWriter.writeUint(typeIds.length);
-    for (var i = 0; i < typeIds.length; i++) {
+    for (i = 0; i < typeIds.length; i++) {
       this.rawWriter.writeUint(typeIds[i]);
     }
   }
+  if (this._version !== versions.version80 && hasAny) {
+    this.rawWriter.writeUint(anyLens.length);
+    for (i = 0; i < anyLens.length; i++) {
+      this.rawWriter.writeUint(anyLens[i]);
+    }
+  }
   if (sendLength) {
     this.rawWriter.writeUint(message.length);
   }
diff --git a/src/vom/decoder.js b/src/vom/decoder.js
index dabe291..dd69886 100644
--- a/src/vom/decoder.js
+++ b/src/vom/decoder.js
@@ -337,6 +337,14 @@
       } else {
         typeId = mr._typeIds[tId];
       }
+    }).then(function() {
+      var mr = decoder._messageReader;
+      if (mr._version !== versions.version80) {
+        return reader.readUint().then(function(anyLenIndex) {
+          // ignore since we don't have raw bytes in js.
+        });
+      }
+    }).then(function() {
       return decoder._typeDecoder.lookupType(typeId);
     }).then(function(type) {
       if (type === undefined) {
diff --git a/src/vom/encoder.js b/src/vom/encoder.js
index feec23d..c96d75b 100644
--- a/src/vom/encoder.js
+++ b/src/vom/encoder.js
@@ -70,11 +70,13 @@
 
   var typeId = this._typeEncoder.encodeType(type);
   this._typeIds = [];
+  this._anyLens = [];
   var writer = new RawVomWriter(this._version);
   this._encodeValue(val, type, writer, false);
   this._messageWriter.writeValueMessage(typeId,
-    typeUtil.shouldSendLength(type), typeUtil.hasAnyOrTypeObject(type),
-    this._typeIds, writer.getBytes());
+    typeUtil.shouldSendLength(type), typeUtil.hasAny(type),
+    typeUtil.hasTypeObject(type), this._typeIds, this._anyLens,
+    writer.getBytes());
 };
 
 Encoder.prototype._encodeValue = function(v, t, writer, omitEmpty) {
@@ -289,12 +291,21 @@
   }
   var t = guessType(v);
   var typeId = this._typeEncoder.encodeType(t);
+  var anyLenIndex;
+  var startPos;
   if (this._version === versions.version80) {
     writer.writeUint(typeId);
   } else {
     writer.writeUint(this._addTypeId(typeId));
+    anyLenIndex = this._nextAnyLenIndex();
+    writer.writeUint(anyLenIndex);
+    startPos = writer.getPos();
   }
   this._encodeValue(v, t, writer, false);
+  if (this._version !== versions.version80) {
+    var endPos = writer.getPos();
+    this._anyLens[anyLenIndex] = endPos - startPos;
+  }
   return true;
 };
 
@@ -331,3 +342,9 @@
   this._typeIds.push(typeId);
   return index;
 };
+
+Encoder.prototype._nextAnyLenIndex = function() {
+  var index = this._anyLens.length;
+  this._anyLens.push(0);
+  return index;
+};
diff --git a/test/vdl/test-type-util.js b/test/vdl/test-type-util.js
index d560f4d..ab54e2e 100644
--- a/test/vdl/test-type-util.js
+++ b/test/vdl/test-type-util.js
@@ -7,9 +7,8 @@
 var typeUtil = require('../../src/vdl/type-util.js');
 var vdl = require('../../src/vdl');
 
-test('has any or type object', function(t) {
+test('has any', function(t) {
   var has = [
-    vdl.types.TYPEOBJECT,
     vdl.types.ANY,
     {
       kind: vdl.kind.LIST,
@@ -20,6 +19,7 @@
     vdl.types.UINT32,
     vdl.types.BOOL,
     vdl.types.STRING,
+    vdl.types.TYPEOBJECT,
     {
       kind: vdl.kind.STRUCT,
       name: 'aname',
@@ -36,12 +36,51 @@
   ];
 
   has.forEach(function(val) {
-    t.ok(typeUtil.hasAnyOrTypeObject(val),
-      JSON.stringify(val)+' should have any or type object');
+    t.ok(typeUtil.hasAny(val),
+      JSON.stringify(val)+' should have any');
   });
   doesntHave.forEach(function(val) {
-    t.notOk(typeUtil.hasAnyOrTypeObject(val),
-      JSON.stringify(val)+' shouldn\'t have any or type object');
+    t.notOk(typeUtil.hasAny(val),
+      JSON.stringify(val)+' shouldn\'t have any');
+  });
+  t.end();
+});
+
+test('has typeobject', function(t) {
+  var has = [
+    vdl.types.TYPEOBJECT,
+    {
+      kind: vdl.kind.LIST,
+      elem: vdl.types.TYPEOBJECT
+    }
+  ];
+  var doesntHave = [
+    vdl.types.UINT32,
+    vdl.types.BOOL,
+    vdl.types.STRING,
+    vdl.types.ANY,
+    {
+      kind: vdl.kind.STRUCT,
+      name: 'aname',
+      fields: [
+        {
+          name: 'field1',
+          type: {
+            kind: vdl.kind.LIST,
+            elem: vdl.types.INT32
+          }
+        }
+      ]
+    }
+  ];
+
+  has.forEach(function(val) {
+    t.ok(typeUtil.hasTypeObject(val),
+      JSON.stringify(val)+' should have typeobject');
+  });
+  doesntHave.forEach(function(val) {
+    t.notOk(typeUtil.hasTypeObject(val),
+      JSON.stringify(val)+' shouldn\'t have typeobject');
   });
   t.end();
 });