diff --git a/services/application/application.vdl.go b/services/application/application.vdl.go
index cee9d52..7067748 100644
--- a/services/application/application.vdl.go
+++ b/services/application/application.vdl.go
@@ -829,7 +829,7 @@
 	if x.Restarts != 0 {
 		return false
 	}
-	if x.RestartTimeWindow != time.Duration(0) {
+	if x.RestartTimeWindow != 0 {
 		return false
 	}
 	return true
@@ -911,7 +911,7 @@
 			return err
 		}
 	}
-	if x.RestartTimeWindow != time.Duration(0) {
+	if x.RestartTimeWindow != 0 {
 		if err := enc.NextField("RestartTimeWindow"); err != nil {
 			return err
 		}
diff --git a/services/syncbase/syncbase.vdl.go b/services/syncbase/syncbase.vdl.go
index 2b48cb6..c3ec1bf 100644
--- a/services/syncbase/syncbase.vdl.go
+++ b/services/syncbase/syncbase.vdl.go
@@ -462,7 +462,7 @@
 	if !x.Now.IsZero() {
 		return false
 	}
-	if x.ElapsedTime != time.Duration(0) {
+	if x.ElapsedTime != 0 {
 		return false
 	}
 	if x.DoNtpUpdate {
@@ -504,7 +504,7 @@
 			return err
 		}
 	}
-	if x.ElapsedTime != time.Duration(0) {
+	if x.ElapsedTime != 0 {
 		if err := enc.NextField("ElapsedTime"); err != nil {
 			return err
 		}
diff --git a/vdl/vdltest/.api b/vdl/vdltest/.api
index 36e31f1..5bfc25c 100644
--- a/vdl/vdltest/.api
+++ b/vdl/vdltest/.api
@@ -85,8 +85,54 @@
 pkg vdltest, func VDLReadVUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(vdl.Decoder, *VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool) error
 pkg vdltest, func VDLReadVUnionDepth3_VStructDepth2_All(vdl.Decoder, *VUnionDepth3_VStructDepth2_All) error
 pkg vdltest, func VDLReadVUnionDepth3_VUnionDepth2_All(vdl.Decoder, *VUnionDepth3_VUnionDepth2_All) error
+pkg vdltest, func VDLReadVWireUnionNArray(vdl.Decoder, *VWireUnionNArray) error
+pkg vdltest, func VDLReadVWireUnionNIface(vdl.Decoder, *VWireUnionNIface) error
+pkg vdltest, func VDLReadVWireUnionNPointer(vdl.Decoder, *VWireUnionNPointer) error
+pkg vdltest, func VDLReadVWireUnionNSlice(vdl.Decoder, *VWireUnionNSlice) error
+pkg vdltest, func VDLReadVWireUnionNString(vdl.Decoder, *VWireUnionNString) error
+pkg vdltest, func VDLReadVWireUnionNStruct(vdl.Decoder, *VWireUnionNStruct) error
 pkg vdltest, func VEnumAbcFromString(string) (VEnumAbc, error)
 pkg vdltest, func VEnumBcdFromString(string) (VEnumBcd, error)
+pkg vdltest, func VWireArrayNStringFromNative(*VWireArrayNString, VNativeWireArrayNString) error
+pkg vdltest, func VWireArrayNStringToNative(VWireArrayNString, *VNativeWireArrayNString) error
+pkg vdltest, func VWireArrayNStructFromNative(*VWireArrayNStruct, VNativeWireArrayNStruct) error
+pkg vdltest, func VWireArrayNStructToNative(VWireArrayNStruct, *VNativeWireArrayNStruct) error
+pkg vdltest, func VWireBoolNBoolFromNative(*VWireBoolNBool, VNativeWireBoolNBool) error
+pkg vdltest, func VWireBoolNBoolToNative(VWireBoolNBool, *VNativeWireBoolNBool) error
+pkg vdltest, func VWireBoolNStringFromNative(*VWireBoolNString, VNativeWireBoolNString) error
+pkg vdltest, func VWireBoolNStringToNative(VWireBoolNString, *VNativeWireBoolNString) error
+pkg vdltest, func VWireBoolNStructFromNative(*VWireBoolNStruct, VNativeWireBoolNStruct) error
+pkg vdltest, func VWireBoolNStructToNative(VWireBoolNStruct, *VNativeWireBoolNStruct) error
+pkg vdltest, func VWireIntNIntFromNative(*VWireIntNInt, VNativeWireIntNInt) error
+pkg vdltest, func VWireIntNIntToNative(VWireIntNInt, *VNativeWireIntNInt) error
+pkg vdltest, func VWireIntNStringFromNative(*VWireIntNString, VNativeWireIntNString) error
+pkg vdltest, func VWireIntNStringToNative(VWireIntNString, *VNativeWireIntNString) error
+pkg vdltest, func VWireIntNStructFromNative(*VWireIntNStruct, VNativeWireIntNStruct) error
+pkg vdltest, func VWireIntNStructToNative(VWireIntNStruct, *VNativeWireIntNStruct) error
+pkg vdltest, func VWireListNStringFromNative(*VWireListNString, VNativeWireListNString) error
+pkg vdltest, func VWireListNStringToNative(VWireListNString, *VNativeWireListNString) error
+pkg vdltest, func VWireListNStructFromNative(*VWireListNStruct, VNativeWireListNStruct) error
+pkg vdltest, func VWireListNStructToNative(VWireListNStruct, *VNativeWireListNStruct) error
+pkg vdltest, func VWireStringNStringFromNative(*VWireStringNString, VNativeWireStringNString) error
+pkg vdltest, func VWireStringNStringToNative(VWireStringNString, *VNativeWireStringNString) error
+pkg vdltest, func VWireStringNStructFromNative(*VWireStringNStruct, VNativeWireStringNStruct) error
+pkg vdltest, func VWireStringNStructToNative(VWireStringNStruct, *VNativeWireStringNStruct) error
+pkg vdltest, func VWireStructNArrayFromNative(*VWireStructNArray, VNativeWireStructNArray) error
+pkg vdltest, func VWireStructNArrayToNative(VWireStructNArray, *VNativeWireStructNArray) error
+pkg vdltest, func VWireStructNSliceFromNative(*VWireStructNSlice, VNativeWireStructNSlice) error
+pkg vdltest, func VWireStructNSliceToNative(VWireStructNSlice, *VNativeWireStructNSlice) error
+pkg vdltest, func VWireStructNStringFromNative(*VWireStructNString, VNativeWireStructNString) error
+pkg vdltest, func VWireStructNStringToNative(VWireStructNString, *VNativeWireStructNString) error
+pkg vdltest, func VWireStructNStructFromNative(*VWireStructNStruct, VNativeWireStructNStruct) error
+pkg vdltest, func VWireStructNStructToNative(VWireStructNStruct, *VNativeWireStructNStruct) error
+pkg vdltest, func VWireUnionNArrayFromNative(*VWireUnionNArray, VNativeWireUnionNArray) error
+pkg vdltest, func VWireUnionNArrayToNative(VWireUnionNArray, *VNativeWireUnionNArray) error
+pkg vdltest, func VWireUnionNSliceFromNative(*VWireUnionNSlice, VNativeWireUnionNSlice) error
+pkg vdltest, func VWireUnionNSliceToNative(VWireUnionNSlice, *VNativeWireUnionNSlice) error
+pkg vdltest, func VWireUnionNStringFromNative(*VWireUnionNString, VNativeWireUnionNString) error
+pkg vdltest, func VWireUnionNStringToNative(VWireUnionNString, *VNativeWireUnionNString) error
+pkg vdltest, func VWireUnionNStructFromNative(*VWireUnionNStruct, VNativeWireUnionNStruct) error
+pkg vdltest, func VWireUnionNStructToNative(VWireUnionNStruct, *VNativeWireUnionNStruct) error
 pkg vdltest, func XEnumAbcFromString(string) (XEnumAbc, error)
 pkg vdltest, func XEnumBcdFromString(string) (XEnumBcd, error)
 pkg vdltest, method (*EntryGenerator) GenAllFail([]*vdl.Type) []EntryValue
@@ -191,7 +237,10 @@
 pkg vdltest, method (*VMap_VUint32_VUint32) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VMutualCycleA) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VMutualCycleB) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VNamedError) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VSelfCycle) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VSet_Bool) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VSet_Byte) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VSet_Float32) VDLRead(vdl.Decoder) error
@@ -273,6 +322,25 @@
 pkg vdltest, method (*VUint16) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VUint32) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*VUint64) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireAll) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireArrayNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireArrayNStruct) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireBoolNBool) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireBoolNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireBoolNStruct) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireIntNInt) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireIntNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireIntNStruct) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireListNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireListNStruct) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStringNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStringNStruct) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNArray) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNIface) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNPointer) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNSlice) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNString) VDLRead(vdl.Decoder) error
+pkg vdltest, method (*VWireStructNStruct) VDLRead(vdl.Decoder) error
 pkg vdltest, method (*ValueGenerator) Gen(*vdl.Type, GenMode) *vdl.Value
 pkg vdltest, method (*ValueGenerator) RandSeed(int64)
 pkg vdltest, method (*XEnumAbc) Set(string) error
@@ -469,8 +537,16 @@
 pkg vdltest, method (VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) VDLWrite(vdl.Encoder) error
 pkg vdltest, method (VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLIsZero() bool
 pkg vdltest, method (VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VMutualCycleA) VDLIsZero() bool
+pkg vdltest, method (VMutualCycleA) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VMutualCycleB) VDLIsZero() bool
+pkg vdltest, method (VMutualCycleB) VDLWrite(vdl.Encoder) error
 pkg vdltest, method (VNamedError) VDLIsZero() bool
 pkg vdltest, method (VNamedError) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VNativeWireStructNSlice) IsZero() bool
+pkg vdltest, method (VNativeWireUnionNSlice) IsZero() bool
+pkg vdltest, method (VSelfCycle) VDLIsZero() bool
+pkg vdltest, method (VSelfCycle) VDLWrite(vdl.Encoder) error
 pkg vdltest, method (VSet_Bool) VDLIsZero() bool
 pkg vdltest, method (VSet_Bool) VDLWrite(vdl.Encoder) error
 pkg vdltest, method (VSet_Byte) VDLIsZero() bool
@@ -1173,6 +1249,74 @@
 pkg vdltest, method (VUnionDepth3_VUnionDepth2_AllF5) Name() string
 pkg vdltest, method (VUnionDepth3_VUnionDepth2_AllF5) VDLIsZero() bool
 pkg vdltest, method (VUnionDepth3_VUnionDepth2_AllF5) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireAll) VDLIsZero() bool
+pkg vdltest, method (VWireAll) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireArrayNString) VDLIsZero() bool
+pkg vdltest, method (VWireArrayNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireArrayNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireArrayNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireBoolNBool) VDLIsZero() bool
+pkg vdltest, method (VWireBoolNBool) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireBoolNString) VDLIsZero() bool
+pkg vdltest, method (VWireBoolNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireBoolNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireBoolNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireIntNInt) VDLIsZero() bool
+pkg vdltest, method (VWireIntNInt) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireIntNString) VDLIsZero() bool
+pkg vdltest, method (VWireIntNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireIntNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireIntNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireListNString) VDLIsZero() bool
+pkg vdltest, method (VWireListNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireListNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireListNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStringNString) VDLIsZero() bool
+pkg vdltest, method (VWireStringNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStringNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireStringNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNArray) VDLIsZero() bool
+pkg vdltest, method (VWireStructNArray) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNIface) VDLIsZero() bool
+pkg vdltest, method (VWireStructNIface) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNPointer) VDLIsZero() bool
+pkg vdltest, method (VWireStructNPointer) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNSlice) VDLIsZero() bool
+pkg vdltest, method (VWireStructNSlice) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNString) VDLIsZero() bool
+pkg vdltest, method (VWireStructNString) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireStructNStruct) VDLIsZero() bool
+pkg vdltest, method (VWireStructNStruct) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNArrayX) Index() int
+pkg vdltest, method (VWireUnionNArrayX) Interface() interface{}
+pkg vdltest, method (VWireUnionNArrayX) Name() string
+pkg vdltest, method (VWireUnionNArrayX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNArrayX) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNIfaceX) Index() int
+pkg vdltest, method (VWireUnionNIfaceX) Interface() interface{}
+pkg vdltest, method (VWireUnionNIfaceX) Name() string
+pkg vdltest, method (VWireUnionNIfaceX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNIfaceX) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNPointerX) Index() int
+pkg vdltest, method (VWireUnionNPointerX) Interface() interface{}
+pkg vdltest, method (VWireUnionNPointerX) Name() string
+pkg vdltest, method (VWireUnionNPointerX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNPointerX) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNSliceX) Index() int
+pkg vdltest, method (VWireUnionNSliceX) Interface() interface{}
+pkg vdltest, method (VWireUnionNSliceX) Name() string
+pkg vdltest, method (VWireUnionNSliceX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNSliceX) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNStringX) Index() int
+pkg vdltest, method (VWireUnionNStringX) Interface() interface{}
+pkg vdltest, method (VWireUnionNStringX) Name() string
+pkg vdltest, method (VWireUnionNStringX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNStringX) VDLWrite(vdl.Encoder) error
+pkg vdltest, method (VWireUnionNStructX) Index() int
+pkg vdltest, method (VWireUnionNStructX) Interface() interface{}
+pkg vdltest, method (VWireUnionNStructX) Name() string
+pkg vdltest, method (VWireUnionNStructX) VDLIsZero() bool
+pkg vdltest, method (VWireUnionNStructX) VDLWrite(vdl.Encoder) error
 pkg vdltest, method (XEnumAbc) String() string
 pkg vdltest, method (XEnumBcd) String() string
 pkg vdltest, method (XUnionDepth1_AllF0) Index() int
@@ -1616,9 +1760,45 @@
 pkg vdltest, type VMap_VUint32_VUint32 map[VUint32]VUint32
 pkg vdltest, type VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64 map[VUnionDepth1_VUint64]VUnionDepth1_VUint64
 pkg vdltest, type VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte map[VUnionDepth2_VArray2_VByte]VUnionDepth2_VArray2_VByte
+pkg vdltest, type VMutualCycleA struct
+pkg vdltest, type VMutualCycleA struct, B *VMutualCycleB
+pkg vdltest, type VMutualCycleA struct, Data int64
+pkg vdltest, type VMutualCycleB struct
+pkg vdltest, type VMutualCycleB struct, A *VMutualCycleA
+pkg vdltest, type VMutualCycleB struct, Data int64
 pkg vdltest, type VNamedError struct
 pkg vdltest, type VNamedError struct, Id string
 pkg vdltest, type VNamedError struct, Msg string
+pkg vdltest, type VNativeWireArrayNString string
+pkg vdltest, type VNativeWireArrayNStruct struct
+pkg vdltest, type VNativeWireArrayNStruct struct, X string
+pkg vdltest, type VNativeWireBoolNBool bool
+pkg vdltest, type VNativeWireBoolNString string
+pkg vdltest, type VNativeWireBoolNStruct struct
+pkg vdltest, type VNativeWireBoolNStruct struct, X string
+pkg vdltest, type VNativeWireIntNInt int
+pkg vdltest, type VNativeWireIntNString string
+pkg vdltest, type VNativeWireIntNStruct struct
+pkg vdltest, type VNativeWireIntNStruct struct, X string
+pkg vdltest, type VNativeWireListNString string
+pkg vdltest, type VNativeWireListNStruct struct
+pkg vdltest, type VNativeWireListNStruct struct, X string
+pkg vdltest, type VNativeWireStringNString string
+pkg vdltest, type VNativeWireStringNStruct struct
+pkg vdltest, type VNativeWireStringNStruct struct, X string
+pkg vdltest, type VNativeWireStructNArray [1]string
+pkg vdltest, type VNativeWireStructNSlice []string
+pkg vdltest, type VNativeWireStructNString string
+pkg vdltest, type VNativeWireStructNStruct struct
+pkg vdltest, type VNativeWireStructNStruct struct, X string
+pkg vdltest, type VNativeWireUnionNArray [1]string
+pkg vdltest, type VNativeWireUnionNSlice []string
+pkg vdltest, type VNativeWireUnionNString string
+pkg vdltest, type VNativeWireUnionNStruct struct
+pkg vdltest, type VNativeWireUnionNStruct struct, X string
+pkg vdltest, type VSelfCycle struct
+pkg vdltest, type VSelfCycle struct, Data int64
+pkg vdltest, type VSelfCycle struct, Next *VSelfCycle
 pkg vdltest, type VSet_Bool map[bool]struct{}
 pkg vdltest, type VSet_Byte map[byte]struct{}
 pkg vdltest, type VSet_Float32 map[float32]struct{}
@@ -2366,6 +2546,103 @@
 pkg vdltest, type VUnionDepth3_VUnionDepth2_All interface, unexported methods
 pkg vdltest, type VUnionDepth3_VUnionDepth2_AllF5 struct
 pkg vdltest, type VUnionDepth3_VUnionDepth2_AllF5 struct, Value VUnionDepth2_All
+pkg vdltest, type VWireAll struct
+pkg vdltest, type VWireAll struct, ArrayNString VNativeWireArrayNString
+pkg vdltest, type VWireAll struct, ArrayNStruct VNativeWireArrayNStruct
+pkg vdltest, type VWireAll struct, BoolNBool VNativeWireBoolNBool
+pkg vdltest, type VWireAll struct, BoolNString VNativeWireBoolNString
+pkg vdltest, type VWireAll struct, BoolNStruct VNativeWireBoolNStruct
+pkg vdltest, type VWireAll struct, IntNInt VNativeWireIntNInt
+pkg vdltest, type VWireAll struct, IntNString VNativeWireIntNString
+pkg vdltest, type VWireAll struct, IntNStruct VNativeWireIntNStruct
+pkg vdltest, type VWireAll struct, ListNString VNativeWireListNString
+pkg vdltest, type VWireAll struct, ListNStruct VNativeWireListNStruct
+pkg vdltest, type VWireAll struct, StringNString VNativeWireStringNString
+pkg vdltest, type VWireAll struct, StringNStruct VNativeWireStringNStruct
+pkg vdltest, type VWireAll struct, StructNArray VNativeWireStructNArray
+pkg vdltest, type VWireAll struct, StructNIface VWireStructNIface
+pkg vdltest, type VWireAll struct, StructNPointer VWireStructNPointer
+pkg vdltest, type VWireAll struct, StructNSlice VNativeWireStructNSlice
+pkg vdltest, type VWireAll struct, StructNString VNativeWireStructNString
+pkg vdltest, type VWireAll struct, StructNStruct VNativeWireStructNStruct
+pkg vdltest, type VWireAll struct, UnionNArray VNativeWireUnionNArray
+pkg vdltest, type VWireAll struct, UnionNIface VWireUnionNIface
+pkg vdltest, type VWireAll struct, UnionNPointer VWireUnionNPointer
+pkg vdltest, type VWireAll struct, UnionNSlice VNativeWireUnionNSlice
+pkg vdltest, type VWireAll struct, UnionNString VNativeWireUnionNString
+pkg vdltest, type VWireAll struct, UnionNStruct VNativeWireUnionNStruct
+pkg vdltest, type VWireArrayNString [1]string
+pkg vdltest, type VWireArrayNStruct [1]string
+pkg vdltest, type VWireBoolNBool bool
+pkg vdltest, type VWireBoolNString bool
+pkg vdltest, type VWireBoolNStruct bool
+pkg vdltest, type VWireIntNInt int32
+pkg vdltest, type VWireIntNString int32
+pkg vdltest, type VWireIntNStruct int32
+pkg vdltest, type VWireListNString []string
+pkg vdltest, type VWireListNStruct []string
+pkg vdltest, type VWireStringNString string
+pkg vdltest, type VWireStringNStruct string
+pkg vdltest, type VWireStructNArray struct
+pkg vdltest, type VWireStructNArray struct, X string
+pkg vdltest, type VWireStructNIface struct
+pkg vdltest, type VWireStructNIface struct, X string
+pkg vdltest, type VWireStructNPointer struct
+pkg vdltest, type VWireStructNPointer struct, X string
+pkg vdltest, type VWireStructNSlice struct
+pkg vdltest, type VWireStructNSlice struct, X string
+pkg vdltest, type VWireStructNString struct
+pkg vdltest, type VWireStructNString struct, X string
+pkg vdltest, type VWireStructNStruct struct
+pkg vdltest, type VWireStructNStruct struct, X string
+pkg vdltest, type VWireUnionNArray interface, Index() int
+pkg vdltest, type VWireUnionNArray interface, Interface() interface{}
+pkg vdltest, type VWireUnionNArray interface, Name() string
+pkg vdltest, type VWireUnionNArray interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNArray interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNArray interface, unexported methods
+pkg vdltest, type VWireUnionNArrayX struct
+pkg vdltest, type VWireUnionNArrayX struct, Value string
+pkg vdltest, type VWireUnionNIface interface, Index() int
+pkg vdltest, type VWireUnionNIface interface, Interface() interface{}
+pkg vdltest, type VWireUnionNIface interface, Name() string
+pkg vdltest, type VWireUnionNIface interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNIface interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNIface interface, unexported methods
+pkg vdltest, type VWireUnionNIfaceX struct
+pkg vdltest, type VWireUnionNIfaceX struct, Value string
+pkg vdltest, type VWireUnionNPointer interface, Index() int
+pkg vdltest, type VWireUnionNPointer interface, Interface() interface{}
+pkg vdltest, type VWireUnionNPointer interface, Name() string
+pkg vdltest, type VWireUnionNPointer interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNPointer interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNPointer interface, unexported methods
+pkg vdltest, type VWireUnionNPointerX struct
+pkg vdltest, type VWireUnionNPointerX struct, Value string
+pkg vdltest, type VWireUnionNSlice interface, Index() int
+pkg vdltest, type VWireUnionNSlice interface, Interface() interface{}
+pkg vdltest, type VWireUnionNSlice interface, Name() string
+pkg vdltest, type VWireUnionNSlice interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNSlice interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNSlice interface, unexported methods
+pkg vdltest, type VWireUnionNSliceX struct
+pkg vdltest, type VWireUnionNSliceX struct, Value string
+pkg vdltest, type VWireUnionNString interface, Index() int
+pkg vdltest, type VWireUnionNString interface, Interface() interface{}
+pkg vdltest, type VWireUnionNString interface, Name() string
+pkg vdltest, type VWireUnionNString interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNString interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNString interface, unexported methods
+pkg vdltest, type VWireUnionNStringX struct
+pkg vdltest, type VWireUnionNStringX struct, Value string
+pkg vdltest, type VWireUnionNStruct interface, Index() int
+pkg vdltest, type VWireUnionNStruct interface, Interface() interface{}
+pkg vdltest, type VWireUnionNStruct interface, Name() string
+pkg vdltest, type VWireUnionNStruct interface, VDLIsZero() bool
+pkg vdltest, type VWireUnionNStruct interface, VDLWrite(vdl.Encoder) error
+pkg vdltest, type VWireUnionNStruct interface, unexported methods
+pkg vdltest, type VWireUnionNStructX struct
+pkg vdltest, type VWireUnionNStructX struct, Value string
 pkg vdltest, type ValueGenerator struct
 pkg vdltest, type ValueGenerator struct, MaxCycleDepth int
 pkg vdltest, type ValueGenerator struct, MaxLen int
@@ -2464,9 +2741,18 @@
 pkg vdltest, type XMap_XUint32_XUint32 map[XUint32]XUint32
 pkg vdltest, type XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64 map[XUnionDepth1_XUint64]XUnionDepth1_XUint64
 pkg vdltest, type XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte map[XUnionDepth2_XArray2_XByte]XUnionDepth2_XArray2_XByte
+pkg vdltest, type XMutualCycleA struct
+pkg vdltest, type XMutualCycleA struct, B *XMutualCycleB
+pkg vdltest, type XMutualCycleA struct, Data int64
+pkg vdltest, type XMutualCycleB struct
+pkg vdltest, type XMutualCycleB struct, A *XMutualCycleA
+pkg vdltest, type XMutualCycleB struct, Data int64
 pkg vdltest, type XNamedError struct
 pkg vdltest, type XNamedError struct, Id string
 pkg vdltest, type XNamedError struct, Msg string
+pkg vdltest, type XSelfCycle struct
+pkg vdltest, type XSelfCycle struct, Data int64
+pkg vdltest, type XSelfCycle struct, Next *XSelfCycle
 pkg vdltest, type XSet_Bool map[bool]struct{}
 pkg vdltest, type XSet_Byte map[byte]struct{}
 pkg vdltest, type XSet_Float32 map[float32]struct{}
diff --git a/vdl/vdltest/internal/vdltestgen/doc.go b/vdl/vdltest/internal/vdltestgen/doc.go
index 01b4db4..b8b38eb 100644
--- a/vdl/vdltest/internal/vdltestgen/doc.go
+++ b/vdl/vdltest/internal/vdltestgen/doc.go
@@ -17,30 +17,12 @@
    xentry_pass_gen.vdl - Entries that pass conversion from source to target.
    xentry_fail_gen.vdl - Entries that fail conversion from source to target.
 
-This tool does not run the vdl tool on the generated *.vdl files; you must do
-that yourself, typically via "jiri go install".
-
-Instead of running this tool manually, it is typically invoked via:
-
+Do not run this tool manually.  Instead invoke it via:
    $ jiri run go generate v.io/v23/vdl/vdltest
 
 Usage:
    vdltestgen [flags]
 
-The vdltestgen flags are:
- -ventry-fail=ventry_fail_gen.vdl
-   Name of the generated ventry fail file, containing failing test entries.
- -ventry-pass=ventry_pass_gen.vdl
-   Name of the generated ventry pass file, containing passing test entries.
- -vtype=vtype_gen.vdl
-   Name of the generated vtype file.
- -xentry-fail=xentry_fail_gen.vdl
-   Name of the generated xentry fail file, containing failing test entries.
- -xentry-pass=xentry_pass_gen.vdl
-   Name of the generated xentry pass file, containing passing test entries.
- -xtype=xtype_gen.vdl
-   Name of the generated xtype file.
-
 The global flags are:
  -metadata=<just specify -metadata to activate>
    Displays metadata for the program and exits.
diff --git a/vdl/vdltest/internal/vdltestgen/main.go b/vdl/vdltest/internal/vdltestgen/main.go
index 0b8a349..84579ca 100644
--- a/vdl/vdltest/internal/vdltestgen/main.go
+++ b/vdl/vdltest/internal/vdltestgen/main.go
@@ -17,7 +17,9 @@
 	"v.io/v23/vdl/vdltest"
 	"v.io/x/lib/cmdline"
 	"v.io/x/lib/textutil"
+	"v.io/x/ref/lib/vdl/build"
 	"v.io/x/ref/lib/vdl/codegen/vdlgen"
+	"v.io/x/ref/lib/vdl/compile"
 )
 
 var cmdGen = &cmdline.Command{
@@ -36,63 +38,82 @@
    xentry_pass_gen.vdl - Entries that pass conversion from source to target.
    xentry_fail_gen.vdl - Entries that fail conversion from source to target.
 
-This tool does not run the vdl tool on the generated *.vdl files; you must do
-that yourself, typically via "jiri go install".
-
-Instead of running this tool manually, it is typically invoked via:
-
+Do not run this tool manually.  Instead invoke it via:
    $ jiri run go generate v.io/v23/vdl/vdltest
 `,
 }
 
 func main() {
-	cmdGen.Flags.StringVar(&flagVType, "vtype", "vtype_gen.vdl", "Name of the generated vtype file.")
-	cmdGen.Flags.StringVar(&flagVEntryPass, "ventry-pass", "ventry_pass_gen.vdl", "Name of the generated ventry pass file, containing passing test entries.")
-	cmdGen.Flags.StringVar(&flagVEntryFail, "ventry-fail", "ventry_fail_gen.vdl", "Name of the generated ventry fail file, containing failing test entries.")
-
-	cmdGen.Flags.StringVar(&flagXType, "xtype", "xtype_gen.vdl", "Name of the generated xtype file.")
-	cmdGen.Flags.StringVar(&flagXEntryPass, "xentry-pass", "xentry_pass_gen.vdl", "Name of the generated xentry pass file, containing passing test entries.")
-	cmdGen.Flags.StringVar(&flagXEntryFail, "xentry-fail", "xentry_fail_gen.vdl", "Name of the generated xentry fail file, containing failing test entries.")
-
 	cmdline.Main(cmdGen)
 }
 
-var (
-	flagVType      string
-	flagVEntryPass string
-	flagVEntryFail string
-	flagXType      string
-	flagXEntryPass string
-	flagXEntryFail string
+const (
+	vdltestPkgName     = "v.io/v23/vdl/vdltest"
+	typeGenFileName    = "type_gen.vdl"
+	typeManualFileName = "type_manual.vdl"
+	passGenFileName    = "entry_pass_gen.vdl"
+	failGenFileName    = "entry_fail_gen.vdl"
 )
 
 func runGen(_ *cmdline.Env, _ []string) error {
-	const maxTypeDepth, seed = 3, 1
-	// Generate "V" types and entries.
-	vTypeGen := vdltest.NewTypeGenerator()
-	vTypeGen.RandSeed(seed)
-	vTypeGen.NamePrefix = "V"
-	vTypes := vTypeGen.Gen(maxTypeDepth)
-	vEntryGen := vdltest.NewEntryGenerator(vTypes)
-	vEntryGen.RandSeed(seed)
-	writeTypeFile(flagVType, vTypes)
-	writeEntryFile(flagVEntryPass, "vAllPass", vEntryGen.GenAllPass(vTypes))
-	writeEntryFile(flagVEntryFail, "vAllFail", vEntryGen.GenAllFail(vTypes))
-	// Generate "X" types and entries.
-	xTypeGen := vdltest.NewTypeGenerator()
-	xTypeGen.RandSeed(seed)
-	xTypeGen.NamePrefix = "X"
-	xTypes := xTypeGen.Gen(maxTypeDepth)
-	xEntryGen := vdltest.NewEntryGenerator(xTypes)
-	xEntryGen.RandSeed(seed)
-	// Don't generate "X" entries for types already covered by "V" entries.
-	xTargetTypes := subtractTypes(xTypes, vTypes)
-	writeTypeFile(flagXType, xTypes)
-	writeEntryFile(flagXEntryPass, "xAllPass", xEntryGen.GenAllPass(xTargetTypes))
-	writeEntryFile(flagXEntryFail, "xAllFail", xEntryGen.GenAllFail(xTargetTypes))
+	// Build the vdltest package, to pick up manually-generated types and entries.
+	vdltestPkg, err := buildVDLTestPackage()
+	if err != nil {
+		return err
+	}
+	// Generate "v" types and entries.
+	vGenTypes := genAndWriteTypes("v")
+	vManTypes := collectManualTypes("v", vdltestPkg)
+	vPass, vFail := genEntries(vGenTypes, vGenTypes)
+	pass, fail := genEntries(vManTypes, append(vManTypes, vGenTypes...))
+	writeEntries("v", append(vPass, pass...), append(vFail, fail...))
+	// Generate "x" types and entries, skipping entries already covered by "v".
+	xGenTypes := genAndWriteTypes("x")
+	xManTypes := collectManualTypes("x", vdltestPkg)
+	xTargetTypes := subtractTypes(xGenTypes, vGenTypes)
+	xPass, xFail := genEntries(xTargetTypes, xGenTypes)
+	pass, fail = genEntries(xManTypes, append(xManTypes, xGenTypes...))
+	writeEntries("x", append(xPass, pass...), append(xFail, fail...))
 	return nil
 }
 
+func buildVDLTestPackage() (*compile.Package, error) {
+	env := compile.NewEnv(-1)
+	pkgs := build.TransitivePackages([]string{vdltestPkgName}, build.UnknownPathIsError, build.Opts{}, env.Errors)
+	if !env.Errors.IsEmpty() {
+		return nil, env.Errors.ToError()
+	}
+	for _, pkg := range pkgs {
+		build.BuildPackage(pkg, env)
+	}
+	return env.ResolvePackage(vdltestPkgName), env.Errors.ToError()
+}
+
+// genAndWriteTypes generates types and writes the type file.
+func genAndWriteTypes(prefix string) []*vdl.Type {
+	const maxTypeDepth = 3
+	gen := vdltest.NewTypeGenerator()
+	gen.RandSeed(1)
+	gen.NamePrefix = strings.ToUpper(prefix)
+	genTypes := gen.Gen(maxTypeDepth)
+	writeTypeFile(prefix+typeGenFileName, genTypes)
+	return genTypes
+}
+
+// collectManualTypes collects manually-defined types from pkg.
+func collectManualTypes(prefix string, pkg *compile.Package) []*vdl.Type {
+	var manTypes []*vdl.Type
+	for _, file := range pkg.Files {
+		if file.BaseName != prefix+typeManualFileName {
+			continue
+		}
+		for _, def := range file.TypeDefs {
+			manTypes = append(manTypes, def.Type)
+		}
+	}
+	return manTypes
+}
+
 // subtractTypes returns all types that don't appear in sub.
 func subtractTypes(types, sub []*vdl.Type) []*vdl.Type {
 	subMap := make(map[*vdl.Type]bool)
@@ -108,6 +129,22 @@
 	return result
 }
 
+// genEntries generates entries for all target types, using source types as the
+// candidates to mimic conversion values.
+func genEntries(target, source []*vdl.Type) (pass, fail []vdltest.EntryValue) {
+	gen := vdltest.NewEntryGenerator(source)
+	gen.RandSeed(1)
+	pass = gen.GenAllPass(target)
+	gen.RandSeed(1)
+	fail = gen.GenAllFail(target)
+	return
+}
+
+func writeEntries(prefix string, pass, fail []vdltest.EntryValue) {
+	writeEntryFile(prefix+passGenFileName, prefix+"AllPass", pass)
+	writeEntryFile(prefix+failGenFileName, prefix+"AllFail", fail)
+}
+
 // This tool is only used to generate test cases for the vdltest package, so the
 // strategy is to panic on any error, to make the code simpler.
 func panicOnError(err error) {
@@ -153,7 +190,7 @@
 	writef(file, "\ntype (\n")
 	for _, tt := range types {
 		if tt.Name() != "" {
-			base := vdlgen.BaseType(tt, "", nil)
+			base := vdlgen.BaseType(tt, vdltestPkgName, nil)
 			base = strings.Replace(base, "\n", "\n\t", -1)
 			writef(file, "\t%[1]s %[2]s\n", tt.Name(), base)
 		}
@@ -174,8 +211,8 @@
 		if e.IsCanonical() {
 			writef(file, "\t// Canonical\n")
 		}
-		target := vdlgen.TypedConst(e.Target, "", nil)
-		source := vdlgen.TypedConst(e.Source, "", nil)
+		target := vdlgen.TypedConst(e.Target, vdltestPkgName, nil)
+		source := vdlgen.TypedConst(e.Source, vdltestPkgName, nil)
 		if len(target)*2+len(source)*2 < 100 {
 			// Write a pretty one-liner, if it's short enough.
 			writef(file, "\t{ %[1]v, %#[2]q, %#[3]q, %[3]s, %#[4]q, %[4]s },\n", e.IsCanonical(), e.Label, target, source)
diff --git a/vdl/vdltest/stats.go b/vdl/vdltest/stats.go
index f81b70b..e7ae615 100644
--- a/vdl/vdltest/stats.go
+++ b/vdl/vdltest/stats.go
@@ -490,6 +490,9 @@
 	stats.Collect("IsBytes", func(e EntryValue) bool {
 		return e.Source.Type().IsBytes()
 	})
+	stats.Collect("IsPartOfCycle", func(e EntryValue) bool {
+		return e.Source.Type().IsPartOfCycle()
+	})
 	// Print stats table.
 	if err := fp(w, "Entries: %d\n", len(entries)); err != nil {
 		return err
diff --git a/vdl/vdltest/vdl.config b/vdl/vdltest/vdl.config
index 486caa2..46ce6cc 100644
--- a/vdl/vdltest/vdl.config
+++ b/vdl/vdltest/vdl.config
@@ -3,4 +3,136 @@
 	// Restrict codegen to Go for the moment, since the vdltest package uncovers
 	// corner cases that break Java.
 	GenLanguages: {Go},
+	// Configure native types.
+	Go: {
+		WireToNativeTypes: {
+			// VWireBoolN{Bool,String,Struct}
+			"VWireBoolNBool": {
+				Kind:    Bool,
+				Type:    "vdltest.VNativeWireBoolNBool",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireBoolNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireBoolNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireBoolNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireBoolNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireIntN{Int,String,Struct}
+			"VWireIntNInt": {
+				Kind:    Number,
+				Type:    "vdltest.VNativeWireIntNInt",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireIntNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireIntNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireIntNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireIntNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireStringN{String,Struct}
+			"VWireStringNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireStringNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireStringNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireStringNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireArrayN{String,Struct}
+			"VWireArrayNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireArrayNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireArrayNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireArrayNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireListN{String,Struct}
+			"VWireListNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireListNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireListNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireListNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireStructN{String,Struct,Array,Slice,Pointer,Iface}
+			"VWireStructNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireStructNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireStructNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireStructNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireStructNArray": {
+				Kind:    Array,
+				Type:    "vdltest.VNativeWireStructNArray",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireStructNSlice": {
+				Kind:    Slice,
+				Type:    "vdltest.VNativeWireStructNSlice",
+				Zero:    {Mode: Canonical, IsZero: ".IsZero()"},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			// VWireUnionN{String,Struct,Array,Slice,Pointer,Iface}
+			"VWireUnionNString": {
+				Kind:    String,
+				Type:    "vdltest.VNativeWireUnionNString",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireUnionNStruct": {
+				Kind:    Struct,
+				Type:    "vdltest.VNativeWireUnionNStruct",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireUnionNArray": {
+				Kind:    Array,
+				Type:    "vdltest.VNativeWireUnionNArray",
+				Zero:    {Mode: Unique},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+			"VWireUnionNSlice": {
+				Kind:    Slice,
+				Type:    "vdltest.VNativeWireUnionNSlice",
+				Zero:    {Mode: Canonical, IsZero: ".IsZero()"},
+				Imports: {{Path: "v.io/v23/vdl/vdltest", Name: "vdltest"}},
+			},
+		},
+	},
 }
diff --git a/vdl/vdltest/vdltest.vdl.go b/vdl/vdltest/vdltest.vdl.go
index 83da035..df9c33c 100644
--- a/vdl/vdltest/vdltest.vdl.go
+++ b/vdl/vdltest/vdltest.vdl.go
@@ -20502,6 +20502,2463 @@
 	return dec.FinishValue()
 }
 
+// VSelfCycle tests self-cyclic types.
+type VSelfCycle struct {
+	Data int64
+	Next *VSelfCycle
+}
+
+func (VSelfCycle) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VSelfCycle"`
+}) {
+}
+
+func (x VSelfCycle) VDLIsZero() bool {
+	return x == VSelfCycle{}
+}
+
+func (x VSelfCycle) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VSelfCycle)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.Data != 0 {
+		if err := enc.NextField("Data"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.Int64Type); err != nil {
+			return err
+		}
+		if err := enc.EncodeInt(x.Data); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if x.Next != nil {
+		if err := enc.NextField("Next"); err != nil {
+			return err
+		}
+		enc.SetNextStartValueIsOptional()
+
+		if err := x.Next.VDLWrite(enc); err != nil {
+			return err
+		}
+
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VSelfCycle) VDLRead(dec vdl.Decoder) error {
+	*x = VSelfCycle{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "Data":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.Data, err = dec.DecodeInt(64); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		case "Next":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			if dec.IsNil() {
+				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.Next), dec.Type()) {
+					return fmt.Errorf("incompatible optional %T, from %v", x.Next, dec.Type())
+				}
+				x.Next = nil
+				if err := dec.FinishValue(); err != nil {
+					return err
+				}
+			} else {
+				x.Next = new(VSelfCycle)
+				dec.IgnoreNextStartValue()
+				if err := x.Next.VDLRead(dec); err != nil {
+					return err
+				}
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+// VMutualCycleB tests mutually cyclic types A and B.
+type VMutualCycleB struct {
+	Data int64
+	A    *VMutualCycleA
+}
+
+func (VMutualCycleB) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VMutualCycleB"`
+}) {
+}
+
+func (x VMutualCycleB) VDLIsZero() bool {
+	return x == VMutualCycleB{}
+}
+
+func (x VMutualCycleB) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VMutualCycleB)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.Data != 0 {
+		if err := enc.NextField("Data"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.Int64Type); err != nil {
+			return err
+		}
+		if err := enc.EncodeInt(x.Data); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if x.A != nil {
+		if err := enc.NextField("A"); err != nil {
+			return err
+		}
+		enc.SetNextStartValueIsOptional()
+
+		if err := x.A.VDLWrite(enc); err != nil {
+			return err
+		}
+
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VMutualCycleB) VDLRead(dec vdl.Decoder) error {
+	*x = VMutualCycleB{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "Data":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.Data, err = dec.DecodeInt(64); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		case "A":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			if dec.IsNil() {
+				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.A), dec.Type()) {
+					return fmt.Errorf("incompatible optional %T, from %v", x.A, dec.Type())
+				}
+				x.A = nil
+				if err := dec.FinishValue(); err != nil {
+					return err
+				}
+			} else {
+				x.A = new(VMutualCycleA)
+				dec.IgnoreNextStartValue()
+				if err := x.A.VDLRead(dec); err != nil {
+					return err
+				}
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+// VMutualCycleA tests mutually cyclic types A and B.
+type VMutualCycleA struct {
+	Data int64
+	B    *VMutualCycleB
+}
+
+func (VMutualCycleA) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VMutualCycleA"`
+}) {
+}
+
+func (x VMutualCycleA) VDLIsZero() bool {
+	return x == VMutualCycleA{}
+}
+
+func (x VMutualCycleA) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VMutualCycleA)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.Data != 0 {
+		if err := enc.NextField("Data"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.Int64Type); err != nil {
+			return err
+		}
+		if err := enc.EncodeInt(x.Data); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if x.B != nil {
+		if err := enc.NextField("B"); err != nil {
+			return err
+		}
+		enc.SetNextStartValueIsOptional()
+
+		if err := x.B.VDLWrite(enc); err != nil {
+			return err
+		}
+
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VMutualCycleA) VDLRead(dec vdl.Decoder) error {
+	*x = VMutualCycleA{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "Data":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.Data, err = dec.DecodeInt(64); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		case "B":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			if dec.IsNil() {
+				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.B), dec.Type()) {
+					return fmt.Errorf("incompatible optional %T, from %v", x.B, dec.Type())
+				}
+				x.B = nil
+				if err := dec.FinishValue(); err != nil {
+					return err
+				}
+			} else {
+				x.B = new(VMutualCycleB)
+				dec.IgnoreNextStartValue()
+				if err := x.B.VDLRead(dec); err != nil {
+					return err
+				}
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireBoolNBool bool
+
+func (VWireBoolNBool) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireBoolNBool"`
+}) {
+}
+
+func (x VWireBoolNBool) VDLIsZero() bool {
+	return bool(!x)
+}
+
+func (x VWireBoolNBool) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNBool)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeBool(bool(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireBoolNBool) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeBool()
+	if err != nil {
+		return err
+	}
+	*x = VWireBoolNBool(tmp)
+	return dec.FinishValue()
+}
+
+type VWireBoolNString bool
+
+func (VWireBoolNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireBoolNString"`
+}) {
+}
+
+func (x VWireBoolNString) VDLIsZero() bool {
+	return bool(!x)
+}
+
+func (x VWireBoolNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNString)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeBool(bool(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireBoolNString) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeBool()
+	if err != nil {
+		return err
+	}
+	*x = VWireBoolNString(tmp)
+	return dec.FinishValue()
+}
+
+type VWireBoolNStruct bool
+
+func (VWireBoolNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireBoolNStruct"`
+}) {
+}
+
+func (x VWireBoolNStruct) VDLIsZero() bool {
+	return bool(!x)
+}
+
+func (x VWireBoolNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNStruct)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeBool(bool(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireBoolNStruct) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeBool()
+	if err != nil {
+		return err
+	}
+	*x = VWireBoolNStruct(tmp)
+	return dec.FinishValue()
+}
+
+type VWireIntNInt int32
+
+func (VWireIntNInt) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireIntNInt"`
+}) {
+}
+
+func (x VWireIntNInt) VDLIsZero() bool {
+	return x == 0
+}
+
+func (x VWireIntNInt) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireIntNInt)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeInt(int64(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireIntNInt) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeInt(32)
+	if err != nil {
+		return err
+	}
+	*x = VWireIntNInt(tmp)
+	return dec.FinishValue()
+}
+
+type VWireIntNString int32
+
+func (VWireIntNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireIntNString"`
+}) {
+}
+
+func (x VWireIntNString) VDLIsZero() bool {
+	return x == 0
+}
+
+func (x VWireIntNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireIntNString)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeInt(int64(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireIntNString) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeInt(32)
+	if err != nil {
+		return err
+	}
+	*x = VWireIntNString(tmp)
+	return dec.FinishValue()
+}
+
+type VWireIntNStruct int32
+
+func (VWireIntNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireIntNStruct"`
+}) {
+}
+
+func (x VWireIntNStruct) VDLIsZero() bool {
+	return x == 0
+}
+
+func (x VWireIntNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireIntNStruct)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeInt(int64(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireIntNStruct) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeInt(32)
+	if err != nil {
+		return err
+	}
+	*x = VWireIntNStruct(tmp)
+	return dec.FinishValue()
+}
+
+type VWireStringNString string
+
+func (VWireStringNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStringNString"`
+}) {
+}
+
+func (x VWireStringNString) VDLIsZero() bool {
+	return x == ""
+}
+
+func (x VWireStringNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStringNString)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(string(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStringNString) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeString()
+	if err != nil {
+		return err
+	}
+	*x = VWireStringNString(tmp)
+	return dec.FinishValue()
+}
+
+type VWireStringNStruct string
+
+func (VWireStringNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStringNStruct"`
+}) {
+}
+
+func (x VWireStringNStruct) VDLIsZero() bool {
+	return x == ""
+}
+
+func (x VWireStringNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStringNStruct)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(string(x)); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStringNStruct) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	tmp, err := dec.DecodeString()
+	if err != nil {
+		return err
+	}
+	*x = VWireStringNStruct(tmp)
+	return dec.FinishValue()
+}
+
+type VWireArrayNString [1]string
+
+func (VWireArrayNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireArrayNString"`
+}) {
+}
+
+func (x VWireArrayNString) VDLIsZero() bool {
+	return x == VWireArrayNString{}
+}
+
+func (x VWireArrayNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireArrayNString)(nil))); err != nil {
+		return err
+	}
+	for i := 0; i < 1; i++ {
+		if err := enc.NextEntry(false); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x[i]); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextEntry(true); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireArrayNString) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
+	}
+	index := 0
+	for {
+		switch done, err := dec.NextEntry(); {
+		case err != nil:
+			return err
+		case done != (index >= len(*x)):
+			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
+		case done:
+			return dec.FinishValue()
+		}
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if x[index], err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		index++
+	}
+}
+
+type VWireArrayNStruct [1]string
+
+func (VWireArrayNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireArrayNStruct"`
+}) {
+}
+
+func (x VWireArrayNStruct) VDLIsZero() bool {
+	return x == VWireArrayNStruct{}
+}
+
+func (x VWireArrayNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireArrayNStruct)(nil))); err != nil {
+		return err
+	}
+	for i := 0; i < 1; i++ {
+		if err := enc.NextEntry(false); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x[i]); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextEntry(true); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireArrayNStruct) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
+	}
+	index := 0
+	for {
+		switch done, err := dec.NextEntry(); {
+		case err != nil:
+			return err
+		case done != (index >= len(*x)):
+			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
+		case done:
+			return dec.FinishValue()
+		}
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if x[index], err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		index++
+	}
+}
+
+type VWireListNString []string
+
+func (VWireListNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireListNString"`
+}) {
+}
+
+func (x VWireListNString) VDLIsZero() bool {
+	return len(x) == 0
+}
+
+func (x VWireListNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireListNString)(nil))); err != nil {
+		return err
+	}
+	if err := enc.SetLenHint(len(x)); err != nil {
+		return err
+	}
+	for i := 0; i < len(x); i++ {
+		if err := enc.NextEntry(false); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x[i]); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextEntry(true); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireListNString) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
+	}
+	switch len := dec.LenHint(); {
+	case len > 0:
+		*x = make(VWireListNString, 0, len)
+	default:
+		*x = nil
+	}
+	for {
+		switch done, err := dec.NextEntry(); {
+		case err != nil:
+			return err
+		case done:
+			return dec.FinishValue()
+		}
+		var elem string
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if elem, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = append(*x, elem)
+	}
+}
+
+type VWireListNStruct []string
+
+func (VWireListNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireListNStruct"`
+}) {
+}
+
+func (x VWireListNStruct) VDLIsZero() bool {
+	return len(x) == 0
+}
+
+func (x VWireListNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireListNStruct)(nil))); err != nil {
+		return err
+	}
+	if err := enc.SetLenHint(len(x)); err != nil {
+		return err
+	}
+	for i := 0; i < len(x); i++ {
+		if err := enc.NextEntry(false); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x[i]); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextEntry(true); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireListNStruct) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
+	}
+	switch len := dec.LenHint(); {
+	case len > 0:
+		*x = make(VWireListNStruct, 0, len)
+	default:
+		*x = nil
+	}
+	for {
+		switch done, err := dec.NextEntry(); {
+		case err != nil:
+			return err
+		case done:
+			return dec.FinishValue()
+		}
+		var elem string
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if elem, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = append(*x, elem)
+	}
+}
+
+type VWireStructNString struct {
+	X string
+}
+
+func (VWireStructNString) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNString"`
+}) {
+}
+
+func (x VWireStructNString) VDLIsZero() bool {
+	return x == VWireStructNString{}
+}
+
+func (x VWireStructNString) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNString)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNString) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNString{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireStructNStruct struct {
+	X string
+}
+
+func (VWireStructNStruct) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNStruct"`
+}) {
+}
+
+func (x VWireStructNStruct) VDLIsZero() bool {
+	return x == VWireStructNStruct{}
+}
+
+func (x VWireStructNStruct) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNStruct)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNStruct) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNStruct{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireStructNArray struct {
+	X string
+}
+
+func (VWireStructNArray) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNArray"`
+}) {
+}
+
+func (x VWireStructNArray) VDLIsZero() bool {
+	return x == VWireStructNArray{}
+}
+
+func (x VWireStructNArray) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNArray)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNArray) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNArray{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireStructNSlice struct {
+	X string
+}
+
+func (VWireStructNSlice) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNSlice"`
+}) {
+}
+
+func (x VWireStructNSlice) VDLIsZero() bool {
+	return x == VWireStructNSlice{}
+}
+
+func (x VWireStructNSlice) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNSlice)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNSlice) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNSlice{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireStructNPointer struct {
+	X string
+}
+
+func (VWireStructNPointer) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNPointer"`
+}) {
+}
+
+func (x VWireStructNPointer) VDLIsZero() bool {
+	return x == VWireStructNPointer{}
+}
+
+func (x VWireStructNPointer) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNPointer)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNPointer) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNPointer{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type VWireStructNIface struct {
+	X string
+}
+
+func (VWireStructNIface) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireStructNIface"`
+}) {
+}
+
+func (x VWireStructNIface) VDLIsZero() bool {
+	return x == VWireStructNIface{}
+}
+
+func (x VWireStructNIface) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireStructNIface)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.X != "" {
+		if err := enc.NextField("X"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.X); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireStructNIface) VDLRead(dec vdl.Decoder) error {
+	*x = VWireStructNIface{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "X":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.X, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
+type (
+	// VWireUnionNString represents any single field of the VWireUnionNString union type.
+	VWireUnionNString interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNString union type.
+		__VDLReflect(__VWireUnionNStringReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNStringX represents field X of the VWireUnionNString union type.
+	VWireUnionNStringX struct{ Value string }
+	// __VWireUnionNStringReflect describes the VWireUnionNString union type.
+	__VWireUnionNStringReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNString"`
+		Type  VWireUnionNString
+		Union struct {
+			X VWireUnionNStringX
+		}
+	}
+)
+
+func (x VWireUnionNStringX) Index() int                              { return 0 }
+func (x VWireUnionNStringX) Interface() interface{}                  { return x.Value }
+func (x VWireUnionNStringX) Name() string                            { return "X" }
+func (x VWireUnionNStringX) __VDLReflect(__VWireUnionNStringReflect) {}
+
+func (x VWireUnionNStringX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNStringX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNString)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNString(dec vdl.Decoder, x *VWireUnionNString) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNStringX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+type (
+	// VWireUnionNStruct represents any single field of the VWireUnionNStruct union type.
+	VWireUnionNStruct interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNStruct union type.
+		__VDLReflect(__VWireUnionNStructReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNStructX represents field X of the VWireUnionNStruct union type.
+	VWireUnionNStructX struct{ Value string }
+	// __VWireUnionNStructReflect describes the VWireUnionNStruct union type.
+	__VWireUnionNStructReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNStruct"`
+		Type  VWireUnionNStruct
+		Union struct {
+			X VWireUnionNStructX
+		}
+	}
+)
+
+func (x VWireUnionNStructX) Index() int                              { return 0 }
+func (x VWireUnionNStructX) Interface() interface{}                  { return x.Value }
+func (x VWireUnionNStructX) Name() string                            { return "X" }
+func (x VWireUnionNStructX) __VDLReflect(__VWireUnionNStructReflect) {}
+
+func (x VWireUnionNStructX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNStructX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNStruct)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNStruct(dec vdl.Decoder, x *VWireUnionNStruct) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNStructX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+type (
+	// VWireUnionNArray represents any single field of the VWireUnionNArray union type.
+	VWireUnionNArray interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNArray union type.
+		__VDLReflect(__VWireUnionNArrayReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNArrayX represents field X of the VWireUnionNArray union type.
+	VWireUnionNArrayX struct{ Value string }
+	// __VWireUnionNArrayReflect describes the VWireUnionNArray union type.
+	__VWireUnionNArrayReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNArray"`
+		Type  VWireUnionNArray
+		Union struct {
+			X VWireUnionNArrayX
+		}
+	}
+)
+
+func (x VWireUnionNArrayX) Index() int                             { return 0 }
+func (x VWireUnionNArrayX) Interface() interface{}                 { return x.Value }
+func (x VWireUnionNArrayX) Name() string                           { return "X" }
+func (x VWireUnionNArrayX) __VDLReflect(__VWireUnionNArrayReflect) {}
+
+func (x VWireUnionNArrayX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNArrayX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNArray)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNArray(dec vdl.Decoder, x *VWireUnionNArray) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNArrayX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+type (
+	// VWireUnionNSlice represents any single field of the VWireUnionNSlice union type.
+	VWireUnionNSlice interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNSlice union type.
+		__VDLReflect(__VWireUnionNSliceReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNSliceX represents field X of the VWireUnionNSlice union type.
+	VWireUnionNSliceX struct{ Value string }
+	// __VWireUnionNSliceReflect describes the VWireUnionNSlice union type.
+	__VWireUnionNSliceReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNSlice"`
+		Type  VWireUnionNSlice
+		Union struct {
+			X VWireUnionNSliceX
+		}
+	}
+)
+
+func (x VWireUnionNSliceX) Index() int                             { return 0 }
+func (x VWireUnionNSliceX) Interface() interface{}                 { return x.Value }
+func (x VWireUnionNSliceX) Name() string                           { return "X" }
+func (x VWireUnionNSliceX) __VDLReflect(__VWireUnionNSliceReflect) {}
+
+func (x VWireUnionNSliceX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNSliceX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNSlice)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNSlice(dec vdl.Decoder, x *VWireUnionNSlice) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNSliceX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+type (
+	// VWireUnionNPointer represents any single field of the VWireUnionNPointer union type.
+	VWireUnionNPointer interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNPointer union type.
+		__VDLReflect(__VWireUnionNPointerReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNPointerX represents field X of the VWireUnionNPointer union type.
+	VWireUnionNPointerX struct{ Value string }
+	// __VWireUnionNPointerReflect describes the VWireUnionNPointer union type.
+	__VWireUnionNPointerReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNPointer"`
+		Type  VWireUnionNPointer
+		Union struct {
+			X VWireUnionNPointerX
+		}
+	}
+)
+
+func (x VWireUnionNPointerX) Index() int                               { return 0 }
+func (x VWireUnionNPointerX) Interface() interface{}                   { return x.Value }
+func (x VWireUnionNPointerX) Name() string                             { return "X" }
+func (x VWireUnionNPointerX) __VDLReflect(__VWireUnionNPointerReflect) {}
+
+func (x VWireUnionNPointerX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNPointerX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNPointer)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNPointer(dec vdl.Decoder, x *VWireUnionNPointer) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNPointerX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+type (
+	// VWireUnionNIface represents any single field of the VWireUnionNIface union type.
+	VWireUnionNIface interface {
+		// Index returns the field index.
+		Index() int
+		// Interface returns the field value as an interface.
+		Interface() interface{}
+		// Name returns the field name.
+		Name() string
+		// __VDLReflect describes the VWireUnionNIface union type.
+		__VDLReflect(__VWireUnionNIfaceReflect)
+		VDLIsZero() bool
+		VDLWrite(vdl.Encoder) error
+	}
+	// VWireUnionNIfaceX represents field X of the VWireUnionNIface union type.
+	VWireUnionNIfaceX struct{ Value string }
+	// __VWireUnionNIfaceReflect describes the VWireUnionNIface union type.
+	__VWireUnionNIfaceReflect struct {
+		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNIface"`
+		Type  VWireUnionNIface
+		Union struct {
+			X VWireUnionNIfaceX
+		}
+	}
+)
+
+func (x VWireUnionNIfaceX) Index() int                             { return 0 }
+func (x VWireUnionNIfaceX) Interface() interface{}                 { return x.Value }
+func (x VWireUnionNIfaceX) Name() string                           { return "X" }
+func (x VWireUnionNIfaceX) __VDLReflect(__VWireUnionNIfaceReflect) {}
+
+func (x VWireUnionNIfaceX) VDLIsZero() bool {
+	return x.Value == ""
+}
+
+func (x VWireUnionNIfaceX) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNIface)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("X"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.StringType); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func VDLReadVWireUnionNIface(dec vdl.Decoder, x *VWireUnionNIface) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
+		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
+	}
+	f, err := dec.NextField()
+	if err != nil {
+		return err
+	}
+	switch f {
+	case "X":
+		var field VWireUnionNIfaceX
+		if err := dec.StartValue(); err != nil {
+			return err
+		}
+		var err error
+		if field.Value, err = dec.DecodeString(); err != nil {
+			return err
+		}
+		if err := dec.FinishValue(); err != nil {
+			return err
+		}
+		*x = field
+	case "":
+		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
+	default:
+		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
+	}
+	switch f, err := dec.NextField(); {
+	case err != nil:
+		return err
+	case f != "":
+		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
+	}
+	return dec.FinishValue()
+}
+
+// VWireAll contains all wire types, which will be represented as native types
+// in the generated code.
+type VWireAll struct {
+	BoolNBool      VNativeWireBoolNBool
+	BoolNString    VNativeWireBoolNString
+	BoolNStruct    VNativeWireBoolNStruct
+	IntNInt        VNativeWireIntNInt
+	IntNString     VNativeWireIntNString
+	IntNStruct     VNativeWireIntNStruct
+	StringNString  VNativeWireStringNString
+	StringNStruct  VNativeWireStringNStruct
+	ArrayNString   VNativeWireArrayNString
+	ArrayNStruct   VNativeWireArrayNStruct
+	ListNString    VNativeWireListNString
+	ListNStruct    VNativeWireListNStruct
+	StructNString  VNativeWireStructNString
+	StructNStruct  VNativeWireStructNStruct
+	StructNArray   VNativeWireStructNArray
+	StructNSlice   VNativeWireStructNSlice
+	StructNPointer VWireStructNPointer
+	StructNIface   VWireStructNIface
+	UnionNString   VNativeWireUnionNString
+	UnionNStruct   VNativeWireUnionNStruct
+	UnionNArray    VNativeWireUnionNArray
+	UnionNSlice    VNativeWireUnionNSlice
+	UnionNPointer  VWireUnionNPointer
+	UnionNIface    VWireUnionNIface
+}
+
+func (VWireAll) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.VWireAll"`
+}) {
+}
+
+func (x VWireAll) VDLIsZero() bool {
+	if x.BoolNBool != false {
+		return false
+	}
+	if x.BoolNString != "" {
+		return false
+	}
+	if x.BoolNStruct != (VNativeWireBoolNStruct{}) {
+		return false
+	}
+	if x.IntNInt != 0 {
+		return false
+	}
+	if x.IntNString != "" {
+		return false
+	}
+	if x.IntNStruct != (VNativeWireIntNStruct{}) {
+		return false
+	}
+	if x.StringNString != "" {
+		return false
+	}
+	if x.StringNStruct != (VNativeWireStringNStruct{}) {
+		return false
+	}
+	if x.ArrayNString != "" {
+		return false
+	}
+	if x.ArrayNStruct != (VNativeWireArrayNStruct{}) {
+		return false
+	}
+	if x.ListNString != "" {
+		return false
+	}
+	if x.ListNStruct != (VNativeWireListNStruct{}) {
+		return false
+	}
+	if x.StructNString != "" {
+		return false
+	}
+	if x.StructNStruct != (VNativeWireStructNStruct{}) {
+		return false
+	}
+	if x.StructNArray != (VNativeWireStructNArray{}) {
+		return false
+	}
+	if !x.StructNSlice.IsZero() {
+		return false
+	}
+	if x.StructNPointer != (VWireStructNPointer{}) {
+		return false
+	}
+	if x.StructNIface != (VWireStructNIface{}) {
+		return false
+	}
+	if x.UnionNString != "" {
+		return false
+	}
+	if x.UnionNStruct != (VNativeWireUnionNStruct{}) {
+		return false
+	}
+	if x.UnionNArray != (VNativeWireUnionNArray{}) {
+		return false
+	}
+	if !x.UnionNSlice.IsZero() {
+		return false
+	}
+	if x.UnionNPointer != nil && !x.UnionNPointer.VDLIsZero() {
+		return false
+	}
+	if x.UnionNIface != nil && !x.UnionNIface.VDLIsZero() {
+		return false
+	}
+	return true
+}
+
+func (x VWireAll) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VWireAll)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.BoolNBool != false {
+		if err := enc.NextField("BoolNBool"); err != nil {
+			return err
+		}
+		var wire VWireBoolNBool
+		if err := VWireBoolNBoolFromNative(&wire, x.BoolNBool); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.BoolNString != "" {
+		if err := enc.NextField("BoolNString"); err != nil {
+			return err
+		}
+		var wire VWireBoolNString
+		if err := VWireBoolNStringFromNative(&wire, x.BoolNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.BoolNStruct != (VNativeWireBoolNStruct{}) {
+		if err := enc.NextField("BoolNStruct"); err != nil {
+			return err
+		}
+		var wire VWireBoolNStruct
+		if err := VWireBoolNStructFromNative(&wire, x.BoolNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.IntNInt != 0 {
+		if err := enc.NextField("IntNInt"); err != nil {
+			return err
+		}
+		var wire VWireIntNInt
+		if err := VWireIntNIntFromNative(&wire, x.IntNInt); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.IntNString != "" {
+		if err := enc.NextField("IntNString"); err != nil {
+			return err
+		}
+		var wire VWireIntNString
+		if err := VWireIntNStringFromNative(&wire, x.IntNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.IntNStruct != (VNativeWireIntNStruct{}) {
+		if err := enc.NextField("IntNStruct"); err != nil {
+			return err
+		}
+		var wire VWireIntNStruct
+		if err := VWireIntNStructFromNative(&wire, x.IntNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StringNString != "" {
+		if err := enc.NextField("StringNString"); err != nil {
+			return err
+		}
+		var wire VWireStringNString
+		if err := VWireStringNStringFromNative(&wire, x.StringNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StringNStruct != (VNativeWireStringNStruct{}) {
+		if err := enc.NextField("StringNStruct"); err != nil {
+			return err
+		}
+		var wire VWireStringNStruct
+		if err := VWireStringNStructFromNative(&wire, x.StringNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.ArrayNString != "" {
+		if err := enc.NextField("ArrayNString"); err != nil {
+			return err
+		}
+		var wire VWireArrayNString
+		if err := VWireArrayNStringFromNative(&wire, x.ArrayNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.ArrayNStruct != (VNativeWireArrayNStruct{}) {
+		if err := enc.NextField("ArrayNStruct"); err != nil {
+			return err
+		}
+		var wire VWireArrayNStruct
+		if err := VWireArrayNStructFromNative(&wire, x.ArrayNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.ListNString != "" {
+		if err := enc.NextField("ListNString"); err != nil {
+			return err
+		}
+		var wire VWireListNString
+		if err := VWireListNStringFromNative(&wire, x.ListNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.ListNStruct != (VNativeWireListNStruct{}) {
+		if err := enc.NextField("ListNStruct"); err != nil {
+			return err
+		}
+		var wire VWireListNStruct
+		if err := VWireListNStructFromNative(&wire, x.ListNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StructNString != "" {
+		if err := enc.NextField("StructNString"); err != nil {
+			return err
+		}
+		var wire VWireStructNString
+		if err := VWireStructNStringFromNative(&wire, x.StructNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StructNStruct != (VNativeWireStructNStruct{}) {
+		if err := enc.NextField("StructNStruct"); err != nil {
+			return err
+		}
+		var wire VWireStructNStruct
+		if err := VWireStructNStructFromNative(&wire, x.StructNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StructNArray != (VNativeWireStructNArray{}) {
+		if err := enc.NextField("StructNArray"); err != nil {
+			return err
+		}
+		var wire VWireStructNArray
+		if err := VWireStructNArrayFromNative(&wire, x.StructNArray); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if !x.StructNSlice.IsZero() {
+		if err := enc.NextField("StructNSlice"); err != nil {
+			return err
+		}
+		var wire VWireStructNSlice
+		if err := VWireStructNSliceFromNative(&wire, x.StructNSlice); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StructNPointer != (VWireStructNPointer{}) {
+		if err := enc.NextField("StructNPointer"); err != nil {
+			return err
+		}
+		if err := x.StructNPointer.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.StructNIface != (VWireStructNIface{}) {
+		if err := enc.NextField("StructNIface"); err != nil {
+			return err
+		}
+		if err := x.StructNIface.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.UnionNString != "" {
+		if err := enc.NextField("UnionNString"); err != nil {
+			return err
+		}
+		var wire VWireUnionNString
+		if err := VWireUnionNStringFromNative(&wire, x.UnionNString); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.UnionNStruct != (VNativeWireUnionNStruct{}) {
+		if err := enc.NextField("UnionNStruct"); err != nil {
+			return err
+		}
+		var wire VWireUnionNStruct
+		if err := VWireUnionNStructFromNative(&wire, x.UnionNStruct); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.UnionNArray != (VNativeWireUnionNArray{}) {
+		if err := enc.NextField("UnionNArray"); err != nil {
+			return err
+		}
+		var wire VWireUnionNArray
+		if err := VWireUnionNArrayFromNative(&wire, x.UnionNArray); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if !x.UnionNSlice.IsZero() {
+		if err := enc.NextField("UnionNSlice"); err != nil {
+			return err
+		}
+		var wire VWireUnionNSlice
+		if err := VWireUnionNSliceFromNative(&wire, x.UnionNSlice); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.UnionNPointer != nil && !x.UnionNPointer.VDLIsZero() {
+		if err := enc.NextField("UnionNPointer"); err != nil {
+			return err
+		}
+		if err := x.UnionNPointer.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.UnionNIface != nil && !x.UnionNIface.VDLIsZero() {
+		if err := enc.NextField("UnionNIface"); err != nil {
+			return err
+		}
+		if err := x.UnionNIface.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *VWireAll) VDLRead(dec vdl.Decoder) error {
+	*x = VWireAll{
+		UnionNPointer: VWireUnionNPointerX{},
+		UnionNIface:   VWireUnionNIfaceX{},
+	}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "BoolNBool":
+			var wire VWireBoolNBool
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireBoolNBoolToNative(wire, &x.BoolNBool); err != nil {
+				return err
+			}
+		case "BoolNString":
+			var wire VWireBoolNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireBoolNStringToNative(wire, &x.BoolNString); err != nil {
+				return err
+			}
+		case "BoolNStruct":
+			var wire VWireBoolNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireBoolNStructToNative(wire, &x.BoolNStruct); err != nil {
+				return err
+			}
+		case "IntNInt":
+			var wire VWireIntNInt
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireIntNIntToNative(wire, &x.IntNInt); err != nil {
+				return err
+			}
+		case "IntNString":
+			var wire VWireIntNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireIntNStringToNative(wire, &x.IntNString); err != nil {
+				return err
+			}
+		case "IntNStruct":
+			var wire VWireIntNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireIntNStructToNative(wire, &x.IntNStruct); err != nil {
+				return err
+			}
+		case "StringNString":
+			var wire VWireStringNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStringNStringToNative(wire, &x.StringNString); err != nil {
+				return err
+			}
+		case "StringNStruct":
+			var wire VWireStringNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStringNStructToNative(wire, &x.StringNStruct); err != nil {
+				return err
+			}
+		case "ArrayNString":
+			var wire VWireArrayNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireArrayNStringToNative(wire, &x.ArrayNString); err != nil {
+				return err
+			}
+		case "ArrayNStruct":
+			var wire VWireArrayNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireArrayNStructToNative(wire, &x.ArrayNStruct); err != nil {
+				return err
+			}
+		case "ListNString":
+			var wire VWireListNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireListNStringToNative(wire, &x.ListNString); err != nil {
+				return err
+			}
+		case "ListNStruct":
+			var wire VWireListNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireListNStructToNative(wire, &x.ListNStruct); err != nil {
+				return err
+			}
+		case "StructNString":
+			var wire VWireStructNString
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStructNStringToNative(wire, &x.StructNString); err != nil {
+				return err
+			}
+		case "StructNStruct":
+			var wire VWireStructNStruct
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStructNStructToNative(wire, &x.StructNStruct); err != nil {
+				return err
+			}
+		case "StructNArray":
+			var wire VWireStructNArray
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStructNArrayToNative(wire, &x.StructNArray); err != nil {
+				return err
+			}
+		case "StructNSlice":
+			var wire VWireStructNSlice
+			if err := wire.VDLRead(dec); err != nil {
+				return err
+			}
+			if err := VWireStructNSliceToNative(wire, &x.StructNSlice); err != nil {
+				return err
+			}
+		case "StructNPointer":
+			if err := x.StructNPointer.VDLRead(dec); err != nil {
+				return err
+			}
+		case "StructNIface":
+			if err := x.StructNIface.VDLRead(dec); err != nil {
+				return err
+			}
+		case "UnionNString":
+			var wire VWireUnionNString
+			if err := VDLReadVWireUnionNString(dec, &wire); err != nil {
+				return err
+			}
+			if err := VWireUnionNStringToNative(wire, &x.UnionNString); err != nil {
+				return err
+			}
+		case "UnionNStruct":
+			var wire VWireUnionNStruct
+			if err := VDLReadVWireUnionNStruct(dec, &wire); err != nil {
+				return err
+			}
+			if err := VWireUnionNStructToNative(wire, &x.UnionNStruct); err != nil {
+				return err
+			}
+		case "UnionNArray":
+			var wire VWireUnionNArray
+			if err := VDLReadVWireUnionNArray(dec, &wire); err != nil {
+				return err
+			}
+			if err := VWireUnionNArrayToNative(wire, &x.UnionNArray); err != nil {
+				return err
+			}
+		case "UnionNSlice":
+			var wire VWireUnionNSlice
+			if err := VDLReadVWireUnionNSlice(dec, &wire); err != nil {
+				return err
+			}
+			if err := VWireUnionNSliceToNative(wire, &x.UnionNSlice); err != nil {
+				return err
+			}
+		case "UnionNPointer":
+			if err := VDLReadVWireUnionNPointer(dec, &x.UnionNPointer); err != nil {
+				return err
+			}
+		case "UnionNIface":
+			if err := VDLReadVWireUnionNIface(dec, &x.UnionNIface); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
 type XBool bool
 
 func (XBool) __VDLReflect(struct {
@@ -24071,6 +26528,83 @@
 func (x XUnionDepth3_OptXStructDepth2_Set_Float64F6) __VDLReflect(__XUnionDepth3_OptXStructDepth2_Set_Float64Reflect) {
 }
 
+// XSelfCycle tests self-cyclic types.
+type XSelfCycle struct {
+	Data int64
+	Next *XSelfCycle
+}
+
+func (XSelfCycle) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.XSelfCycle"`
+}) {
+}
+
+// XMutualCycleB tests mutually cyclic types A and B.
+type XMutualCycleB struct {
+	Data int64
+	A    *XMutualCycleA
+}
+
+func (XMutualCycleB) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.XMutualCycleB"`
+}) {
+}
+
+// XMutualCycleA tests mutually cyclic types A and B.
+type XMutualCycleA struct {
+	Data int64
+	B    *XMutualCycleB
+}
+
+func (XMutualCycleA) __VDLReflect(struct {
+	Name string `vdl:"v.io/v23/vdl/vdltest.XMutualCycleA"`
+}) {
+}
+
+// Type-check native conversion functions.
+var (
+	_ func(VWireArrayNString, *VNativeWireArrayNString) error   = VWireArrayNStringToNative
+	_ func(*VWireArrayNString, VNativeWireArrayNString) error   = VWireArrayNStringFromNative
+	_ func(VWireArrayNStruct, *VNativeWireArrayNStruct) error   = VWireArrayNStructToNative
+	_ func(*VWireArrayNStruct, VNativeWireArrayNStruct) error   = VWireArrayNStructFromNative
+	_ func(VWireBoolNBool, *VNativeWireBoolNBool) error         = VWireBoolNBoolToNative
+	_ func(*VWireBoolNBool, VNativeWireBoolNBool) error         = VWireBoolNBoolFromNative
+	_ func(VWireBoolNString, *VNativeWireBoolNString) error     = VWireBoolNStringToNative
+	_ func(*VWireBoolNString, VNativeWireBoolNString) error     = VWireBoolNStringFromNative
+	_ func(VWireBoolNStruct, *VNativeWireBoolNStruct) error     = VWireBoolNStructToNative
+	_ func(*VWireBoolNStruct, VNativeWireBoolNStruct) error     = VWireBoolNStructFromNative
+	_ func(VWireIntNInt, *VNativeWireIntNInt) error             = VWireIntNIntToNative
+	_ func(*VWireIntNInt, VNativeWireIntNInt) error             = VWireIntNIntFromNative
+	_ func(VWireIntNString, *VNativeWireIntNString) error       = VWireIntNStringToNative
+	_ func(*VWireIntNString, VNativeWireIntNString) error       = VWireIntNStringFromNative
+	_ func(VWireIntNStruct, *VNativeWireIntNStruct) error       = VWireIntNStructToNative
+	_ func(*VWireIntNStruct, VNativeWireIntNStruct) error       = VWireIntNStructFromNative
+	_ func(VWireListNString, *VNativeWireListNString) error     = VWireListNStringToNative
+	_ func(*VWireListNString, VNativeWireListNString) error     = VWireListNStringFromNative
+	_ func(VWireListNStruct, *VNativeWireListNStruct) error     = VWireListNStructToNative
+	_ func(*VWireListNStruct, VNativeWireListNStruct) error     = VWireListNStructFromNative
+	_ func(VWireStringNString, *VNativeWireStringNString) error = VWireStringNStringToNative
+	_ func(*VWireStringNString, VNativeWireStringNString) error = VWireStringNStringFromNative
+	_ func(VWireStringNStruct, *VNativeWireStringNStruct) error = VWireStringNStructToNative
+	_ func(*VWireStringNStruct, VNativeWireStringNStruct) error = VWireStringNStructFromNative
+	_ func(VWireStructNArray, *VNativeWireStructNArray) error   = VWireStructNArrayToNative
+	_ func(*VWireStructNArray, VNativeWireStructNArray) error   = VWireStructNArrayFromNative
+	_ func(VWireStructNSlice, *VNativeWireStructNSlice) error   = VWireStructNSliceToNative
+	_ func(*VWireStructNSlice, VNativeWireStructNSlice) error   = VWireStructNSliceFromNative
+	_ func(VWireStructNString, *VNativeWireStructNString) error = VWireStructNStringToNative
+	_ func(*VWireStructNString, VNativeWireStructNString) error = VWireStructNStringFromNative
+	_ func(VWireStructNStruct, *VNativeWireStructNStruct) error = VWireStructNStructToNative
+	_ func(*VWireStructNStruct, VNativeWireStructNStruct) error = VWireStructNStructFromNative
+	_ func(VWireUnionNArray, *VNativeWireUnionNArray) error     = VWireUnionNArrayToNative
+	_ func(*VWireUnionNArray, VNativeWireUnionNArray) error     = VWireUnionNArrayFromNative
+	_ func(VWireUnionNSlice, *VNativeWireUnionNSlice) error     = VWireUnionNSliceToNative
+	_ func(*VWireUnionNSlice, VNativeWireUnionNSlice) error     = VWireUnionNSliceFromNative
+	_ func(VWireUnionNString, *VNativeWireUnionNString) error   = VWireUnionNStringToNative
+	_ func(*VWireUnionNString, VNativeWireUnionNString) error   = VWireUnionNStringFromNative
+	_ func(VWireUnionNStruct, *VNativeWireUnionNStruct) error   = VWireUnionNStructToNative
+	_ func(*VWireUnionNStruct, VNativeWireUnionNStruct) error   = VWireUnionNStructFromNative
+)
+
 //////////////////////////////////////////////////
 // Const definitions
 
@@ -57700,6 +60234,5306 @@
 			},
 		},
 	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VSelfCycle{}",
+		Target:      VSelfCycle{},
+		SourceLabel: "VSelfCycle{}",
+		Source:      VSelfCycle{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VSelfCycle{}",
+		Target:      VSelfCycle{},
+		SourceLabel: "VMutualCycleA{}",
+		Source:      VMutualCycleA{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VSelfCycle{}",
+		Target:      VSelfCycle{},
+		SourceLabel: "VMutualCycleB{}",
+		Source:      VMutualCycleB{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Target: VSelfCycle{
+			Data: -123,
+			Next: &VSelfCycle{
+				Data: -123,
+				Next: &VSelfCycle{
+					Data: -123,
+					Next: &VSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Source: VSelfCycle{
+			Data: -123,
+			Next: &VSelfCycle{
+				Data: -123,
+				Next: &VSelfCycle{
+					Data: -123,
+					Next: &VSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}}",
+		Target: VSelfCycle{
+			Data: -3933048656192887342,
+			Next: &VSelfCycle{
+				Data: -1666879701135447875,
+				Next: &VSelfCycle{},
+			},
+		},
+		SourceLabel: "VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}}",
+		Source: VSelfCycle{
+			Data: -3933048656192887342,
+			Next: &VSelfCycle{
+				Data: -1666879701135447875,
+				Next: &VSelfCycle{},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleB{}",
+		Target:      VMutualCycleB{},
+		SourceLabel: "VMutualCycleB{}",
+		Source:      VMutualCycleB{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleB{}",
+		Target:      VMutualCycleB{},
+		SourceLabel: "VSelfCycle{}",
+		Source:      VSelfCycle{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleB{}",
+		Target:      VMutualCycleB{},
+		SourceLabel: "?VStructEmpty{}",
+		Source:      &VStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Target: VMutualCycleB{
+			Data: -123,
+			A: &VMutualCycleA{
+				Data: -123,
+				B: &VMutualCycleB{
+					Data: -123,
+					A: &VMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Source: VMutualCycleB{
+			Data: -123,
+			A: &VMutualCycleA{
+				Data: -123,
+				B: &VMutualCycleB{
+					Data: -123,
+					A: &VMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}}",
+		Target: VMutualCycleB{
+			Data: 3315306687289648358,
+			A: &VMutualCycleA{
+				B: &VMutualCycleB{
+					Data: -830867813984030735,
+				},
+			},
+		},
+		SourceLabel: "VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}}",
+		Source: VMutualCycleB{
+			Data: 3315306687289648358,
+			A: &VMutualCycleA{
+				B: &VMutualCycleB{
+					Data: -830867813984030735,
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleA{}",
+		Target:      VMutualCycleA{},
+		SourceLabel: "VMutualCycleA{}",
+		Source:      VMutualCycleA{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleA{}",
+		Target:      VMutualCycleA{},
+		SourceLabel: "VSelfCycle{}",
+		Source:      VSelfCycle{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VMutualCycleA{}",
+		Target:      VMutualCycleA{},
+		SourceLabel: "?VStructEmpty{}",
+		Source:      &VStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Target: VMutualCycleA{
+			Data: -123,
+			B: &VMutualCycleB{
+				Data: -123,
+				A: &VMutualCycleA{
+					Data: -123,
+					B: &VMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Source: VMutualCycleA{
+			Data: -123,
+			B: &VMutualCycleB{
+				Data: -123,
+				A: &VMutualCycleA{
+					Data: -123,
+					B: &VMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VMutualCycleA{Data: -1454793165023012937, B: {}}",
+		Target: VMutualCycleA{
+			Data: -1454793165023012937,
+			B:    &VMutualCycleB{},
+		},
+		SourceLabel: "VMutualCycleA{Data: -1454793165023012937, B: {}}",
+		Source: VMutualCycleA{
+			Data: -1454793165023012937,
+			B:    &VMutualCycleB{},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNBool(false)",
+		Target:      VNativeWireBoolNBool(false),
+		SourceLabel: "VWireBoolNBool(false)",
+		Source:      VNativeWireBoolNBool(false),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNBool(false)",
+		Target:      VNativeWireBoolNBool(false),
+		SourceLabel: "VWireBoolNString(false)",
+		Source:      VNativeWireBoolNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNBool(false)",
+		Target:      VNativeWireBoolNBool(false),
+		SourceLabel: "VWireBoolNStruct(false)",
+		Source:      VNativeWireBoolNStruct{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireBoolNBool(true)",
+		Target: func() VNativeWireBoolNBool {
+			var native VNativeWireBoolNBool
+			wire := VWireBoolNBool(true)
+			if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireBoolNBool(true)",
+		Source: func() VNativeWireBoolNBool {
+			var native VNativeWireBoolNBool
+			wire := VWireBoolNBool(true)
+			if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireBoolNBool(true)",
+		Target: func() VNativeWireBoolNBool {
+			var native VNativeWireBoolNBool
+			wire := VWireBoolNBool(true)
+			if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireBoolNStruct(true)",
+		Source: func() VNativeWireBoolNStruct {
+			var native VNativeWireBoolNStruct
+			wire := VWireBoolNStruct(true)
+			if err := VWireBoolNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNString(false)",
+		Target:      VNativeWireBoolNString(""),
+		SourceLabel: "VWireBoolNString(false)",
+		Source:      VNativeWireBoolNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNString(false)",
+		Target:      VNativeWireBoolNString(""),
+		SourceLabel: "VWireBoolNStruct(false)",
+		Source:      VNativeWireBoolNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNString(false)",
+		Target:      VNativeWireBoolNString(""),
+		SourceLabel: "false",
+		Source:      false,
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireBoolNString(true)",
+		Target: func() VNativeWireBoolNString {
+			var native VNativeWireBoolNString
+			wire := VWireBoolNString(true)
+			if err := VWireBoolNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireBoolNString(true)",
+		Source: func() VNativeWireBoolNString {
+			var native VNativeWireBoolNString
+			wire := VWireBoolNString(true)
+			if err := VWireBoolNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireBoolNString(true)",
+		Target: func() VNativeWireBoolNString {
+			var native VNativeWireBoolNString
+			wire := VWireBoolNString(true)
+			if err := VWireBoolNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireBoolNBool(true)",
+		Source: func() VNativeWireBoolNBool {
+			var native VNativeWireBoolNBool
+			wire := VWireBoolNBool(true)
+			if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNStruct(false)",
+		Target:      VNativeWireBoolNStruct{},
+		SourceLabel: "VWireBoolNStruct(false)",
+		Source:      VNativeWireBoolNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNStruct(false)",
+		Target:      VNativeWireBoolNStruct{},
+		SourceLabel: "VWireBoolNString(false)",
+		Source:      VNativeWireBoolNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireBoolNStruct(false)",
+		Target:      VNativeWireBoolNStruct{},
+		SourceLabel: "false",
+		Source:      false,
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireBoolNStruct(true)",
+		Target: func() VNativeWireBoolNStruct {
+			var native VNativeWireBoolNStruct
+			wire := VWireBoolNStruct(true)
+			if err := VWireBoolNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireBoolNStruct(true)",
+		Source: func() VNativeWireBoolNStruct {
+			var native VNativeWireBoolNStruct
+			wire := VWireBoolNStruct(true)
+			if err := VWireBoolNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireBoolNStruct(true)",
+		Target: func() VNativeWireBoolNStruct {
+			var native VNativeWireBoolNStruct
+			wire := VWireBoolNStruct(true)
+			if err := VWireBoolNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "true",
+		Source:      true,
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireIntNInt(0)",
+		Target:      VNativeWireIntNInt(0),
+		SourceLabel: "VWireIntNInt(0)",
+		Source:      VNativeWireIntNInt(0),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNInt(0)",
+		Target:      VNativeWireIntNInt(0),
+		SourceLabel: "int64(0)",
+		Source:      int64(0),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNInt(0)",
+		Target:      VNativeWireIntNInt(0),
+		SourceLabel: "uint16(0)",
+		Source:      uint16(0),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(2147483647)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(2147483647)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(2147483647)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(2147483647)",
+		Source:      VUint32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(2147483647)",
+		Source:      VUint64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(2147483647)",
+		Source:      VInt32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(2147483647)",
+		Source:      VInt64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(2.147483647e+09)",
+		Source:      VFloat64(2.147483647e+09),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "uint64(2147483647)",
+		Source:      uint64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNInt(2147483647)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "float64(2.147483647e+09)",
+		Source:      float64(2.147483647e+09),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VByte(1)",
+		Source:      VByte(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint16(1)",
+		Source:      VUint16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(1)",
+		Source:      VUint32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(1)",
+		Source:      VUint64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(1)",
+		Source:      VInt8(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(1)",
+		Source:      VInt16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(1)",
+		Source:      VInt32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(1)",
+		Source:      VInt64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(1)",
+		Source:      VFloat32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(1)",
+		Source:      VFloat64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "uint64(1)",
+		Source:      uint64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNInt(1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "uint32(1)",
+		Source:      uint32(1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-2147483648)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-2147483648)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-2147483648)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-2147483648)",
+		Source:      VInt32(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-2147483648)",
+		Source:      VInt64(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-2.147483648e+09)",
+		Source:      VFloat64(-2.147483648e+09),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(-2147483648)",
+		Source:      int64(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNInt(-2147483648)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int32(-2147483648)",
+		Source:      int32(-2147483648),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(-1)",
+		Source:      VInt8(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(-1)",
+		Source:      VInt16(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-1)",
+		Source:      VInt32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-1)",
+		Source:      VInt64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(-1)",
+		Source:      VFloat32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-1)",
+		Source:      VFloat64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int8(-1)",
+		Source:      int8(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNInt(-1)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int16(-1)",
+		Source:      int16(-1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireIntNInt(-123)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-123)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-123)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-123)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireIntNInt(-123)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-123)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int8(-123)",
+		Source:      int8(-123),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireIntNInt(-456364020)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-456364020)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-456364020)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-456364020)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireIntNInt(-456364020)",
+		Target: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-456364020)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-456364020)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-456364020)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireIntNString(0)",
+		Target:      VNativeWireIntNString(""),
+		SourceLabel: "VWireIntNString(0)",
+		Source:      VNativeWireIntNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNString(0)",
+		Target:      VNativeWireIntNString(""),
+		SourceLabel: "int64(0)",
+		Source:      int64(0),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNString(0)",
+		Target:      VNativeWireIntNString(""),
+		SourceLabel: "VUint32(0)",
+		Source:      VUint32(0),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(2147483647)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(2147483647)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(2147483647)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(2147483647)",
+		Source:      VUint32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(2147483647)",
+		Source:      VUint64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(2147483647)",
+		Source:      VInt32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(2147483647)",
+		Source:      VInt64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(2.147483647e+09)",
+		Source:      VFloat64(2.147483647e+09),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int32(2147483647)",
+		Source:      int32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNString(2147483647)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "float64(2.147483647e+09)",
+		Source:      float64(2.147483647e+09),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VByte(1)",
+		Source:      VByte(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint16(1)",
+		Source:      VUint16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(1)",
+		Source:      VUint32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(1)",
+		Source:      VUint64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(1)",
+		Source:      VInt8(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(1)",
+		Source:      VInt16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(1)",
+		Source:      VInt32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(1)",
+		Source:      VInt64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(1)",
+		Source:      VFloat32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(1)",
+		Source:      VFloat64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(1)",
+		Source:      int64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNString(1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int16(1)",
+		Source:      int16(1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-2147483648)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-2147483648)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-2147483648)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-2147483648)",
+		Source:      VInt32(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-2147483648)",
+		Source:      VInt64(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-2.147483648e+09)",
+		Source:      VFloat64(-2.147483648e+09),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(-2147483648)",
+		Source:      int64(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNString(-2147483648)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int32(-2147483648)",
+		Source:      int32(-2147483648),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(-1)",
+		Source:      VInt8(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(-1)",
+		Source:      VInt16(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-1)",
+		Source:      VInt32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-1)",
+		Source:      VInt64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(-1)",
+		Source:      VFloat32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-1)",
+		Source:      VFloat64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int8(-1)",
+		Source:      int8(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNString(-1)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(-1)",
+		Source:      int64(-1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireIntNString(-123)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-123)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-123)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-123)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireIntNString(-123)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-123)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-123)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-123)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireIntNString(891620478)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(891620478)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(891620478)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(891620478)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireIntNString(891620478)",
+		Target: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(891620478)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(891620478)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(891620478)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireIntNStruct(0)",
+		Target:      VNativeWireIntNStruct{},
+		SourceLabel: "VWireIntNStruct(0)",
+		Source:      VNativeWireIntNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNStruct(0)",
+		Target:      VNativeWireIntNStruct{},
+		SourceLabel: "float32(0)",
+		Source:      float32(0),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireIntNStruct(0)",
+		Target:      VNativeWireIntNStruct{},
+		SourceLabel: "VUint64(0)",
+		Source:      VUint64(0),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(2147483647)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(2147483647)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(2147483647)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(2147483647)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(2147483647)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(2147483647)",
+		Source:      VUint32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(2147483647)",
+		Source:      VUint64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(2147483647)",
+		Source:      VInt32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(2147483647)",
+		Source:      VInt64(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(2.147483647e+09)",
+		Source:      VFloat64(2.147483647e+09),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "uint32(2147483647)",
+		Source:      uint32(2147483647),
+	},
+	{
+		Label:       "+Max",
+		TargetLabel: "VWireIntNStruct(2147483647)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(2147483647)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(2147483647)",
+		Source:      int64(2147483647),
+	},
+	{
+		IsCanonical: true,
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VByte(1)",
+		Source:      VByte(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint16(1)",
+		Source:      VUint16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint32(1)",
+		Source:      VUint32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VUint64(1)",
+		Source:      VUint64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(1)",
+		Source:      VInt8(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(1)",
+		Source:      VInt16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(1)",
+		Source:      VInt32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(1)",
+		Source:      VInt64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(1)",
+		Source:      VFloat32(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(1)",
+		Source:      VFloat64(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "uint16(1)",
+		Source:      uint16(1),
+	},
+	{
+		Label:       "+Min",
+		TargetLabel: "VWireIntNStruct(1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int16(1)",
+		Source:      int16(1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-2147483648)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-2147483648)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-2147483648)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-2147483648)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-2147483648)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-2147483648)",
+		Source:      VInt32(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-2147483648)",
+		Source:      VInt64(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-2.147483648e+09)",
+		Source:      VFloat64(-2.147483648e+09),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int32(-2147483648)",
+		Source:      int32(-2147483648),
+	},
+	{
+		Label:       "-Max",
+		TargetLabel: "VWireIntNStruct(-2147483648)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-2147483648)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "float64(-2.147483648e+09)",
+		Source:      float64(-2.147483648e+09),
+	},
+	{
+		IsCanonical: true,
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-1)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNInt(-1)",
+		Source: func() VNativeWireIntNInt {
+			var native VNativeWireIntNInt
+			wire := VWireIntNInt(-1)
+			if err := VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNString(-1)",
+		Source: func() VNativeWireIntNString {
+			var native VNativeWireIntNString
+			wire := VWireIntNString(-1)
+			if err := VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt8(-1)",
+		Source:      VInt8(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt16(-1)",
+		Source:      VInt16(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt32(-1)",
+		Source:      VInt32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VInt64(-1)",
+		Source:      VInt64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat32(-1)",
+		Source:      VFloat32(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-1)",
+		Source:      VFloat64(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int16(-1)",
+		Source:      int16(-1),
+	},
+	{
+		Label:       "-Min",
+		TargetLabel: "VWireIntNStruct(-1)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-1)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "float32(-1)",
+		Source:      float32(-1),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireIntNStruct(-123)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-123)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-123)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-123)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireIntNStruct(-123)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-123)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VFloat64(-123)",
+		Source:      VFloat64(-123),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireIntNStruct(-472003459)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-472003459)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireIntNStruct(-472003459)",
+		Source: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-472003459)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireIntNStruct(-472003459)",
+		Target: func() VNativeWireIntNStruct {
+			var native VNativeWireIntNStruct
+			wire := VWireIntNStruct(-472003459)
+			if err := VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "int64(-472003459)",
+		Source:      int64(-472003459),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStringNString(\"\")",
+		Target:      VNativeWireStringNString(""),
+		SourceLabel: "VWireStringNString(\"\")",
+		Source:      VNativeWireStringNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStringNString(\"\")",
+		Target:      VNativeWireStringNString(""),
+		SourceLabel: "\"\"",
+		Source:      "",
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStringNString(\"\")",
+		Target:      VNativeWireStringNString(""),
+		SourceLabel: "VWireStringNStruct(\"\")",
+		Source:      VNativeWireStringNStruct{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStringNString(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Target: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStringNString(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Source: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStringNString(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Target: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VString(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Source:      VString("abcdeΔΘΠΣΦ王普澤世界"),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStringNString(\"cde\")",
+		Target: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("cde")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStringNString(\"cde\")",
+		Source: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("cde")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStringNString(\"cde\")",
+		Target: func() VNativeWireStringNString {
+			var native VNativeWireStringNString
+			wire := VWireStringNString("cde")
+			if err := VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "\"cde\"",
+		Source:      "cde",
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStringNStruct(\"\")",
+		Target:      VNativeWireStringNStruct{},
+		SourceLabel: "VWireStringNStruct(\"\")",
+		Source:      VNativeWireStringNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStringNStruct(\"\")",
+		Target:      VNativeWireStringNStruct{},
+		SourceLabel: "VString(\"\")",
+		Source:      VString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStringNStruct(\"\")",
+		Target:      VNativeWireStringNStruct{},
+		SourceLabel: "VWireStringNString(\"\")",
+		Source:      VNativeWireStringNString(""),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Target: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Source: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Target: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
+		Source:      "abcdeΔΘΠΣΦ王普澤世界",
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤\")",
+		Target: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤\")",
+		Source: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤\")",
+		Target: func() VNativeWireStringNStruct {
+			var native VNativeWireStringNStruct
+			wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")
+			if err := VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "\"abcdeΔΘΠΣΦ王普澤\"",
+		Source:      "abcdeΔΘΠΣΦ王普澤",
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNString{}",
+		Target:      VNativeWireArrayNString(""),
+		SourceLabel: "VWireArrayNString{}",
+		Source:      VNativeWireArrayNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNString{}",
+		Target:      VNativeWireArrayNString(""),
+		SourceLabel: "[]string{\"\"}",
+		Source: []string{
+			"",
+		},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNString{}",
+		Target:      VNativeWireArrayNString(""),
+		SourceLabel: "VWireListNString{\"\"}",
+		Source: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireArrayNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireArrayNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireArrayNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VList_String{
+			"abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireArrayNString{\"a\"}",
+		Target: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"a",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireArrayNString{\"a\"}",
+		Source: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"a",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireArrayNString{\"a\"}",
+		Target: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"a",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VList_String{\"a\"}",
+		Source: VList_String{
+			"a",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNStruct{}",
+		Target:      VNativeWireArrayNStruct{},
+		SourceLabel: "VWireArrayNStruct{}",
+		Source:      VNativeWireArrayNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNStruct{}",
+		Target:      VNativeWireArrayNStruct{},
+		SourceLabel: "[]string{\"\"}",
+		Source: []string{
+			"",
+		},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireArrayNStruct{}",
+		Target:      VNativeWireArrayNStruct{},
+		SourceLabel: "[]VString{\"\"}",
+		Source: []VString{
+			"",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireArrayNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireArrayNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireArrayNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VList_Any{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VList_Any{
+			"abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireArrayNStruct{\"cdeΔΘΠΣ\"}",
+		Target: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"cdeΔΘΠΣ",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireArrayNStruct{\"cdeΔΘΠΣ\"}",
+		Source: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"cdeΔΘΠΣ",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireArrayNStruct{\"cdeΔΘΠΣ\"}",
+		Target: func() VNativeWireArrayNStruct {
+			var native VNativeWireArrayNStruct
+			wire := VWireArrayNStruct{
+				"cdeΔΘΠΣ",
+			}
+			if err := VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNStruct{\"cdeΔΘΠΣ\"}",
+		Source: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"cdeΔΘΠΣ",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireListNString{}",
+		Target:      VNativeWireListNString(""),
+		SourceLabel: "VWireListNString{}",
+		Source:      VNativeWireListNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireListNString{}",
+		Target:      VNativeWireListNString(""),
+		SourceLabel: "[]VString{}",
+		Source:      []VString(nil),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireListNString{}",
+		Target:      VNativeWireListNString(""),
+		SourceLabel: "[]VEnumAbc{}",
+		Source:      []VEnumAbc(nil),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireListNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireListNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VArray1_String{
+			"abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireListNString{\"de\"}",
+		Target: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"de",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNString{\"de\"}",
+		Source: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"de",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireListNString{\"de\"}",
+		Target: func() VNativeWireListNString {
+			var native VNativeWireListNString
+			wire := VWireListNString{
+				"de",
+			}
+			if err := VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNStruct{\"de\"}",
+		Source: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"de",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireListNStruct{}",
+		Target:      VNativeWireListNStruct{},
+		SourceLabel: "VWireListNStruct{}",
+		Source:      VNativeWireListNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireListNStruct{}",
+		Target:      VNativeWireListNStruct{},
+		SourceLabel: "VList_VString{}",
+		Source:      VList_VString(nil),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireListNStruct{}",
+		Target:      VNativeWireListNStruct{},
+		SourceLabel: "[]VEnumAbc{}",
+		Source:      []VEnumAbc(nil),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireListNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireListNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireArrayNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireArrayNString {
+			var native VNativeWireArrayNString
+			wire := VWireArrayNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireListNStruct{\"deΔΘΠΣΦ王普\", \"澤世\", \"bcdeΔΘΠΣΦ王\"}",
+		Target: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"deΔΘΠΣΦ王普",
+				"澤世",
+				"bcdeΔΘΠΣΦ王",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireListNStruct{\"deΔΘΠΣΦ王普\", \"澤世\", \"bcdeΔΘΠΣΦ王\"}",
+		Source: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"deΔΘΠΣΦ王普",
+				"澤世",
+				"bcdeΔΘΠΣΦ王",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireListNStruct{\"deΔΘΠΣΦ王普\", \"澤世\", \"bcdeΔΘΠΣΦ王\"}",
+		Target: func() VNativeWireListNStruct {
+			var native VNativeWireListNStruct
+			wire := VWireListNStruct{
+				"deΔΘΠΣΦ王普",
+				"澤世",
+				"bcdeΔΘΠΣΦ王",
+			}
+			if err := VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "[]any{\"deΔΘΠΣΦ王普\", \"澤世\", \"bcdeΔΘΠΣΦ王\"}",
+		Source: []interface{}{
+			"deΔΘΠΣΦ王普",
+			"澤世",
+			"bcdeΔΘΠΣΦ王",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNString{}",
+		Target:      VNativeWireStructNString(""),
+		SourceLabel: "VWireStructNString{}",
+		Source:      VNativeWireStructNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNString{}",
+		Target:      VNativeWireStructNString(""),
+		SourceLabel: "VWireStructNArray{}",
+		Source:      VNativeWireStructNArray{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNString{}",
+		Target:      VNativeWireStructNString(""),
+		SourceLabel: "VWireStructNPointer{}",
+		Source:      VWireStructNPointer{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNString{X: \"ΘΠΣΦ\"}",
+		Target: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "ΘΠΣΦ",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNString{X: \"ΘΠΣΦ\"}",
+		Source: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "ΘΠΣΦ",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNString{X: \"ΘΠΣΦ\"}",
+		Target: func() VNativeWireStructNString {
+			var native VNativeWireStructNString
+			wire := VWireStructNString{
+				X: "ΘΠΣΦ",
+			}
+			if err := VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNIface{X: \"ΘΠΣΦ\"}",
+		Source: VWireStructNIface{
+			X: "ΘΠΣΦ",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNStruct{}",
+		Target:      VNativeWireStructNStruct{},
+		SourceLabel: "VWireStructNStruct{}",
+		Source:      VNativeWireStructNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNStruct{}",
+		Target:      VNativeWireStructNStruct{},
+		SourceLabel: "VWireStructNIface{}",
+		Source:      VWireStructNIface{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNStruct{}",
+		Target:      VNativeWireStructNStruct{},
+		SourceLabel: "VWireStructNString{}",
+		Source:      VNativeWireStructNString(""),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNStruct{X: \"Φ王普澤\"}",
+		Target: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "Φ王普澤",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNStruct{X: \"Φ王普澤\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "Φ王普澤",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNStruct{X: \"Φ王普澤\"}",
+		Target: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "Φ王普澤",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNPointer{X: \"Φ王普澤\"}",
+		Source: VWireStructNPointer{
+			X: "Φ王普澤",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNArray{}",
+		Target:      VNativeWireStructNArray{},
+		SourceLabel: "VWireStructNArray{}",
+		Source:      VNativeWireStructNArray{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNArray{}",
+		Target:      VNativeWireStructNArray{},
+		SourceLabel: "VWireStructNIface{}",
+		Source:      VWireStructNIface{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNArray{}",
+		Target:      VNativeWireStructNArray{},
+		SourceLabel: "VWireStructNPointer{}",
+		Source:      VWireStructNPointer{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNArray{X: \"abcdeΔ\"}",
+		Target: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔ",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNArray{X: \"abcdeΔ\"}",
+		Source: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔ",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNArray{X: \"abcdeΔ\"}",
+		Target: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "abcdeΔ",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNStruct{X: \"abcdeΔ\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "abcdeΔ",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNSlice{}",
+		Target:      VNativeWireStructNSlice(nil),
+		SourceLabel: "VWireStructNSlice{}",
+		Source:      VNativeWireStructNSlice(nil),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNSlice{}",
+		Target:      VNativeWireStructNSlice(nil),
+		SourceLabel: "VWireStructNString{}",
+		Source:      VNativeWireStructNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNSlice{}",
+		Target:      VNativeWireStructNSlice(nil),
+		SourceLabel: "VWireStructNArray{}",
+		Source:      VNativeWireStructNArray{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNPointer{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNSlice{X: \"ΣΦ王普\"}",
+		Target: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "ΣΦ王普",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNSlice{X: \"ΣΦ王普\"}",
+		Source: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "ΣΦ王普",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNSlice{X: \"ΣΦ王普\"}",
+		Target: func() VNativeWireStructNSlice {
+			var native VNativeWireStructNSlice
+			wire := VWireStructNSlice{
+				X: "ΣΦ王普",
+			}
+			if err := VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireStructNStruct{X: \"ΣΦ王普\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "ΣΦ王普",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNPointer{}",
+		Target:      VWireStructNPointer{},
+		SourceLabel: "VWireStructNPointer{}",
+		Source:      VWireStructNPointer{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNPointer{}",
+		Target:      VWireStructNPointer{},
+		SourceLabel: "VWireStructNStruct{}",
+		Source:      VNativeWireStructNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNPointer{}",
+		Target:      VWireStructNPointer{},
+		SourceLabel: "VWireStructNIface{}",
+		Source:      VWireStructNIface{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: VWireStructNPointer{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		SourceLabel: "VWireStructNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNPointer{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: VWireStructNPointer{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		SourceLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNPointer{X: \"世\"}",
+		Target: VWireStructNPointer{
+			X: "世",
+		},
+		SourceLabel: "VWireStructNPointer{X: \"世\"}",
+		Source: VWireStructNPointer{
+			X: "世",
+		},
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNPointer{X: \"世\"}",
+		Target: VWireStructNPointer{
+			X: "世",
+		},
+		SourceLabel: "VWireStructNArray{X: \"世\"}",
+		Source: func() VNativeWireStructNArray {
+			var native VNativeWireStructNArray
+			wire := VWireStructNArray{
+				X: "世",
+			}
+			if err := VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireStructNIface{}",
+		Target:      VWireStructNIface{},
+		SourceLabel: "VWireStructNIface{}",
+		Source:      VWireStructNIface{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNIface{}",
+		Target:      VWireStructNIface{},
+		SourceLabel: "VWireStructNPointer{}",
+		Source:      VWireStructNPointer{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireStructNIface{}",
+		Target:      VWireStructNIface{},
+		SourceLabel: "?VStructEmpty{}",
+		Source:      &VStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		SourceLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		SourceLabel: "VWireStructNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireStructNIface{X: \"cde\"}",
+		Target: VWireStructNIface{
+			X: "cde",
+		},
+		SourceLabel: "VWireStructNIface{X: \"cde\"}",
+		Source: VWireStructNIface{
+			X: "cde",
+		},
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireStructNIface{X: \"cde\"}",
+		Target: VWireStructNIface{
+			X: "cde",
+		},
+		SourceLabel: "VWireStructNStruct{X: \"cde\"}",
+		Source: func() VNativeWireStructNStruct {
+			var native VNativeWireStructNStruct
+			wire := VWireStructNStruct{
+				X: "cde",
+			}
+			if err := VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNString{X: \"\"}",
+		Target:      VNativeWireUnionNString(""),
+		SourceLabel: "VWireUnionNString{X: \"\"}",
+		Source:      VNativeWireUnionNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNString{X: \"\"}",
+		Target:      VNativeWireUnionNString(""),
+		SourceLabel: "VWireUnionNArray{X: \"\"}",
+		Source:      VNativeWireUnionNArray{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNString{X: \"\"}",
+		Target:      VNativeWireUnionNString(""),
+		SourceLabel: "VWireUnionNSlice{X: \"\"}",
+		Source:      VNativeWireUnionNSlice(nil),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNString{X: \"abcdeΔ\"}",
+		Target: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔ"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNString{X: \"abcdeΔ\"}",
+		Source: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔ"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNString{X: \"abcdeΔ\"}",
+		Target: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔ"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNIface{X: \"abcdeΔ\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"abcdeΔ"}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNStruct{X: \"\"}",
+		Target:      VNativeWireUnionNStruct{},
+		SourceLabel: "VWireUnionNStruct{X: \"\"}",
+		Source:      VNativeWireUnionNStruct{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNStruct{X: \"\"}",
+		Target:      VNativeWireUnionNStruct{},
+		SourceLabel: "VWireUnionNString{X: \"\"}",
+		Source:      VNativeWireUnionNString(""),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNStruct{X: \"\"}",
+		Target:      VNativeWireUnionNStruct{},
+		SourceLabel: "VWireUnionNSlice{X: \"\"}",
+		Source:      VNativeWireUnionNSlice(nil),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNStruct{X: \"ΘΠΣ\"}",
+		Target: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"ΘΠΣ"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNStruct{X: \"ΘΠΣ\"}",
+		Source: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"ΘΠΣ"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNStruct{X: \"ΘΠΣ\"}",
+		Target: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"ΘΠΣ"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNIface{X: \"ΘΠΣ\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"ΘΠΣ"}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNArray{X: \"\"}",
+		Target:      VNativeWireUnionNArray{},
+		SourceLabel: "VWireUnionNArray{X: \"\"}",
+		Source:      VNativeWireUnionNArray{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNArray{X: \"\"}",
+		Target:      VNativeWireUnionNArray{},
+		SourceLabel: "VWireUnionNPointer{X: \"\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{}),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNArray{X: \"\"}",
+		Target:      VNativeWireUnionNArray{},
+		SourceLabel: "VWireUnionNIface{X: \"\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNArray{X: \"cdeΔ\"}",
+		Target: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"cdeΔ"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNArray{X: \"cdeΔ\"}",
+		Source: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"cdeΔ"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNArray{X: \"cdeΔ\"}",
+		Target: func() VNativeWireUnionNArray {
+			var native VNativeWireUnionNArray
+			wire := VWireUnionNArray(VWireUnionNArrayX{"cdeΔ"})
+			if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNPointer{X: \"cdeΔ\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{"cdeΔ"}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNSlice{X: \"\"}",
+		Target:      VNativeWireUnionNSlice(nil),
+		SourceLabel: "VWireUnionNSlice{X: \"\"}",
+		Source:      VNativeWireUnionNSlice(nil),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNSlice{X: \"\"}",
+		Target:      VNativeWireUnionNSlice(nil),
+		SourceLabel: "VWireUnionNIface{X: \"\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{}),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNSlice{X: \"\"}",
+		Target:      VNativeWireUnionNSlice(nil),
+		SourceLabel: "VWireUnionNPointer{X: \"\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNString {
+			var native VNativeWireUnionNString
+			wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNSlice{X: \"c\"}",
+		Target: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"c"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNSlice{X: \"c\"}",
+		Source: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"c"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNSlice{X: \"c\"}",
+		Target: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"c"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		SourceLabel: "VWireUnionNIface{X: \"c\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"c"}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNPointer{X: \"\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{}),
+		SourceLabel: "VWireUnionNPointer{X: \"\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{}),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNPointer{X: \"\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{}),
+		SourceLabel: "VWireUnionNIface{X: \"\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{}),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNPointer{X: \"\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{}),
+		SourceLabel: "VWireUnionNSlice{X: \"\"}",
+		Source:      VNativeWireUnionNSlice(nil),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		SourceLabel: "VWireUnionNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"}),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		SourceLabel: "VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNSlice {
+			var native VNativeWireUnionNSlice
+			wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNPointer{X: \"ΣΦ王\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{"ΣΦ王"}),
+		SourceLabel: "VWireUnionNPointer{X: \"ΣΦ王\"}",
+		Source:      VWireUnionNPointer(VWireUnionNPointerX{"ΣΦ王"}),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNPointer{X: \"ΣΦ王\"}",
+		Target:      VWireUnionNPointer(VWireUnionNPointerX{"ΣΦ王"}),
+		SourceLabel: "VWireUnionNIface{X: \"ΣΦ王\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"ΣΦ王"}),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNIface{X: \"\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{}),
+		SourceLabel: "VWireUnionNIface{X: \"\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{}),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNIface{X: \"\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{}),
+		SourceLabel: "VWireUnionNSlice{X: \"\"}",
+		Source:      VNativeWireUnionNSlice(nil),
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireUnionNIface{X: \"\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{}),
+		SourceLabel: "VWireUnionNStruct{X: \"\"}",
+		Source:      VNativeWireUnionNStruct{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireUnionNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		SourceLabel: "VWireUnionNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"}),
+	},
+	{
+		Label:       "Full",
+		TargetLabel: "VWireUnionNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		SourceLabel: "VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Source: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNIface{X: \"deΔΘΠΣ\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{"deΔΘΠΣ"}),
+		SourceLabel: "VWireUnionNIface{X: \"deΔΘΠΣ\"}",
+		Source:      VWireUnionNIface(VWireUnionNIfaceX{"deΔΘΠΣ"}),
+	},
+	{
+		Label:       "Random0",
+		TargetLabel: "VWireUnionNIface{X: \"deΔΘΠΣ\"}",
+		Target:      VWireUnionNIface(VWireUnionNIfaceX{"deΔΘΠΣ"}),
+		SourceLabel: "VWireUnionNStruct{X: \"deΔΘΠΣ\"}",
+		Source: func() VNativeWireUnionNStruct {
+			var native VNativeWireUnionNStruct
+			wire := VWireUnionNStruct(VWireUnionNStructX{"deΔΘΠΣ"})
+			if err := VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "VWireAll{}",
+		Target: VWireAll{
+			UnionNPointer: VWireUnionNPointerX{},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+		SourceLabel: "VWireAll{}",
+		Source: VWireAll{
+			UnionNPointer: VWireUnionNPointerX{},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireAll{}",
+		Target: VWireAll{
+			UnionNPointer: VWireUnionNPointerX{},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+		SourceLabel: "?VStructEmpty{}",
+		Source:      &VStructEmpty{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "VWireAll{}",
+		Target: VWireAll{
+			UnionNPointer: VWireUnionNPointerX{},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+		SourceLabel: "VStructEmpty{}",
+		Source:      VStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: \"abcdeΔΘΠΣΦ王普澤世界\", StringNStruct: \"abcdeΔΘΠΣΦ王普澤世界\", ArrayNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ArrayNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, StructNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
+		Target: VWireAll{
+			BoolNBool: func() VNativeWireBoolNBool {
+				var native VNativeWireBoolNBool
+				wire := VWireBoolNBool(true)
+				if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNString: func() VNativeWireBoolNString {
+				var native VNativeWireBoolNString
+				wire := VWireBoolNString(true)
+				if err := VWireBoolNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNStruct: func() VNativeWireBoolNStruct {
+				var native VNativeWireBoolNStruct
+				wire := VWireBoolNStruct(true)
+				if err := VWireBoolNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNInt: func() VNativeWireIntNInt {
+				var native VNativeWireIntNInt
+				wire := VWireIntNInt(-123)
+				if err := VWireIntNIntToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNString: func() VNativeWireIntNString {
+				var native VNativeWireIntNString
+				wire := VWireIntNString(-123)
+				if err := VWireIntNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNStruct: func() VNativeWireIntNStruct {
+				var native VNativeWireIntNStruct
+				wire := VWireIntNStruct(-123)
+				if err := VWireIntNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNString: func() VNativeWireStringNString {
+				var native VNativeWireStringNString
+				wire := VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+				if err := VWireStringNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNStruct: func() VNativeWireStringNStruct {
+				var native VNativeWireStringNStruct
+				wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+				if err := VWireStringNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNString: func() VNativeWireArrayNString {
+				var native VNativeWireArrayNString
+				wire := VWireArrayNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireArrayNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNStruct: func() VNativeWireArrayNStruct {
+				var native VNativeWireArrayNStruct
+				wire := VWireArrayNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireArrayNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNString: func() VNativeWireListNString {
+				var native VNativeWireListNString
+				wire := VWireListNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireListNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNStruct: func() VNativeWireListNStruct {
+				var native VNativeWireListNStruct
+				wire := VWireListNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireListNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNString: func() VNativeWireStructNString {
+				var native VNativeWireStructNString
+				wire := VWireStructNString{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNStruct: func() VNativeWireStructNStruct {
+				var native VNativeWireStructNStruct
+				wire := VWireStructNStruct{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNArray: func() VNativeWireStructNArray {
+				var native VNativeWireStructNArray
+				wire := VWireStructNArray{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNSlice: func() VNativeWireStructNSlice {
+				var native VNativeWireStructNSlice
+				wire := VWireStructNSlice{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNPointer: VWireStructNPointer{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			StructNIface: VWireStructNIface{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			UnionNString: func() VNativeWireUnionNString {
+				var native VNativeWireUnionNString
+				wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNStruct: func() VNativeWireUnionNStruct {
+				var native VNativeWireUnionNStruct
+				wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNArray: func() VNativeWireUnionNArray {
+				var native VNativeWireUnionNArray
+				wire := VWireUnionNArray(VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNSlice: func() VNativeWireUnionNSlice {
+				var native VNativeWireUnionNSlice
+				wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNPointer: VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"},
+			UnionNIface:   VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"},
+		},
+		SourceLabel: "VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: \"abcdeΔΘΠΣΦ王普澤世界\", StringNStruct: \"abcdeΔΘΠΣΦ王普澤世界\", ArrayNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ArrayNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, StructNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
+		Source: VWireAll{
+			BoolNBool: func() VNativeWireBoolNBool {
+				var native VNativeWireBoolNBool
+				wire := VWireBoolNBool(true)
+				if err := VWireBoolNBoolToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNString: func() VNativeWireBoolNString {
+				var native VNativeWireBoolNString
+				wire := VWireBoolNString(true)
+				if err := VWireBoolNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNStruct: func() VNativeWireBoolNStruct {
+				var native VNativeWireBoolNStruct
+				wire := VWireBoolNStruct(true)
+				if err := VWireBoolNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNInt: func() VNativeWireIntNInt {
+				var native VNativeWireIntNInt
+				wire := VWireIntNInt(-123)
+				if err := VWireIntNIntToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNString: func() VNativeWireIntNString {
+				var native VNativeWireIntNString
+				wire := VWireIntNString(-123)
+				if err := VWireIntNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNStruct: func() VNativeWireIntNStruct {
+				var native VNativeWireIntNStruct
+				wire := VWireIntNStruct(-123)
+				if err := VWireIntNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNString: func() VNativeWireStringNString {
+				var native VNativeWireStringNString
+				wire := VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+				if err := VWireStringNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNStruct: func() VNativeWireStringNStruct {
+				var native VNativeWireStringNStruct
+				wire := VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+				if err := VWireStringNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNString: func() VNativeWireArrayNString {
+				var native VNativeWireArrayNString
+				wire := VWireArrayNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireArrayNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNStruct: func() VNativeWireArrayNStruct {
+				var native VNativeWireArrayNStruct
+				wire := VWireArrayNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireArrayNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNString: func() VNativeWireListNString {
+				var native VNativeWireListNString
+				wire := VWireListNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireListNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNStruct: func() VNativeWireListNStruct {
+				var native VNativeWireListNStruct
+				wire := VWireListNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireListNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNString: func() VNativeWireStructNString {
+				var native VNativeWireStructNString
+				wire := VWireStructNString{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNStruct: func() VNativeWireStructNStruct {
+				var native VNativeWireStructNStruct
+				wire := VWireStructNStruct{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNArray: func() VNativeWireStructNArray {
+				var native VNativeWireStructNArray
+				wire := VWireStructNArray{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNSlice: func() VNativeWireStructNSlice {
+				var native VNativeWireStructNSlice
+				wire := VWireStructNSlice{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := VWireStructNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNPointer: VWireStructNPointer{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			StructNIface: VWireStructNIface{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			UnionNString: func() VNativeWireUnionNString {
+				var native VNativeWireUnionNString
+				wire := VWireUnionNString(VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNStruct: func() VNativeWireUnionNStruct {
+				var native VNativeWireUnionNStruct
+				wire := VWireUnionNStruct(VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNArray: func() VNativeWireUnionNArray {
+				var native VNativeWireUnionNArray
+				wire := VWireUnionNArray(VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNSlice: func() VNativeWireUnionNSlice {
+				var native VNativeWireUnionNSlice
+				wire := VWireUnionNSlice(VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := VWireUnionNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNPointer: VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"},
+			UnionNIface:   VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: \"abcdeΔ\", StringNStruct: \"ΔΘΠΣΦ王\", ArrayNString: {\"abcdeΔΘΠ\"}, ArrayNStruct: {\"普澤世\"}, ListNStruct: {\"deΔΘ\", \"\"}, StructNString: {X: \"ΔΘΠΣΦ王普澤\"}, StructNStruct: {X: \"cdeΔΘ\"}, StructNArray: {X: \"bcde\"}, StructNIface: {X: \"澤世界\"}, UnionNString: {X: \"cdeΔΘΠΣΦ\"}, UnionNPointer: {X: \"bc\"}}",
+		Target: VWireAll{
+			BoolNString: func() VNativeWireBoolNString {
+				var native VNativeWireBoolNString
+				wire := VWireBoolNString(true)
+				if err := VWireBoolNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNInt: func() VNativeWireIntNInt {
+				var native VNativeWireIntNInt
+				wire := VWireIntNInt(-255070853)
+				if err := VWireIntNIntToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNString: func() VNativeWireIntNString {
+				var native VNativeWireIntNString
+				wire := VWireIntNString(535047732)
+				if err := VWireIntNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNStruct: func() VNativeWireIntNStruct {
+				var native VNativeWireIntNStruct
+				wire := VWireIntNStruct(492803907)
+				if err := VWireIntNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNString: func() VNativeWireStringNString {
+				var native VNativeWireStringNString
+				wire := VWireStringNString("abcdeΔ")
+				if err := VWireStringNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNStruct: func() VNativeWireStringNStruct {
+				var native VNativeWireStringNStruct
+				wire := VWireStringNStruct("ΔΘΠΣΦ王")
+				if err := VWireStringNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNString: func() VNativeWireArrayNString {
+				var native VNativeWireArrayNString
+				wire := VWireArrayNString{
+					"abcdeΔΘΠ",
+				}
+				if err := VWireArrayNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNStruct: func() VNativeWireArrayNStruct {
+				var native VNativeWireArrayNStruct
+				wire := VWireArrayNStruct{
+					"普澤世",
+				}
+				if err := VWireArrayNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNStruct: func() VNativeWireListNStruct {
+				var native VNativeWireListNStruct
+				wire := VWireListNStruct{
+					"deΔΘ",
+					"",
+				}
+				if err := VWireListNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNString: func() VNativeWireStructNString {
+				var native VNativeWireStructNString
+				wire := VWireStructNString{
+					X: "ΔΘΠΣΦ王普澤",
+				}
+				if err := VWireStructNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNStruct: func() VNativeWireStructNStruct {
+				var native VNativeWireStructNStruct
+				wire := VWireStructNStruct{
+					X: "cdeΔΘ",
+				}
+				if err := VWireStructNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNArray: func() VNativeWireStructNArray {
+				var native VNativeWireStructNArray
+				wire := VWireStructNArray{
+					X: "bcde",
+				}
+				if err := VWireStructNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNIface: VWireStructNIface{
+				X: "澤世界",
+			},
+			UnionNString: func() VNativeWireUnionNString {
+				var native VNativeWireUnionNString
+				wire := VWireUnionNString(VWireUnionNStringX{"cdeΔΘΠΣΦ"})
+				if err := VWireUnionNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNPointer: VWireUnionNPointerX{"bc"},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+		SourceLabel: "VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: \"abcdeΔ\", StringNStruct: \"ΔΘΠΣΦ王\", ArrayNString: {\"abcdeΔΘΠ\"}, ArrayNStruct: {\"普澤世\"}, ListNStruct: {\"deΔΘ\", \"\"}, StructNString: {X: \"ΔΘΠΣΦ王普澤\"}, StructNStruct: {X: \"cdeΔΘ\"}, StructNArray: {X: \"bcde\"}, StructNIface: {X: \"澤世界\"}, UnionNString: {X: \"cdeΔΘΠΣΦ\"}, UnionNPointer: {X: \"bc\"}}",
+		Source: VWireAll{
+			BoolNString: func() VNativeWireBoolNString {
+				var native VNativeWireBoolNString
+				wire := VWireBoolNString(true)
+				if err := VWireBoolNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNInt: func() VNativeWireIntNInt {
+				var native VNativeWireIntNInt
+				wire := VWireIntNInt(-255070853)
+				if err := VWireIntNIntToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNString: func() VNativeWireIntNString {
+				var native VNativeWireIntNString
+				wire := VWireIntNString(535047732)
+				if err := VWireIntNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNStruct: func() VNativeWireIntNStruct {
+				var native VNativeWireIntNStruct
+				wire := VWireIntNStruct(492803907)
+				if err := VWireIntNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNString: func() VNativeWireStringNString {
+				var native VNativeWireStringNString
+				wire := VWireStringNString("abcdeΔ")
+				if err := VWireStringNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNStruct: func() VNativeWireStringNStruct {
+				var native VNativeWireStringNStruct
+				wire := VWireStringNStruct("ΔΘΠΣΦ王")
+				if err := VWireStringNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNString: func() VNativeWireArrayNString {
+				var native VNativeWireArrayNString
+				wire := VWireArrayNString{
+					"abcdeΔΘΠ",
+				}
+				if err := VWireArrayNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNStruct: func() VNativeWireArrayNStruct {
+				var native VNativeWireArrayNStruct
+				wire := VWireArrayNStruct{
+					"普澤世",
+				}
+				if err := VWireArrayNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNStruct: func() VNativeWireListNStruct {
+				var native VNativeWireListNStruct
+				wire := VWireListNStruct{
+					"deΔΘ",
+					"",
+				}
+				if err := VWireListNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNString: func() VNativeWireStructNString {
+				var native VNativeWireStructNString
+				wire := VWireStructNString{
+					X: "ΔΘΠΣΦ王普澤",
+				}
+				if err := VWireStructNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNStruct: func() VNativeWireStructNStruct {
+				var native VNativeWireStructNStruct
+				wire := VWireStructNStruct{
+					X: "cdeΔΘ",
+				}
+				if err := VWireStructNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNArray: func() VNativeWireStructNArray {
+				var native VNativeWireStructNArray
+				wire := VWireStructNArray{
+					X: "bcde",
+				}
+				if err := VWireStructNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNIface: VWireStructNIface{
+				X: "澤世界",
+			},
+			UnionNString: func() VNativeWireUnionNString {
+				var native VNativeWireUnionNString
+				wire := VWireUnionNString(VWireUnionNStringX{"cdeΔΘΠΣΦ"})
+				if err := VWireUnionNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNPointer: VWireUnionNPointerX{"bc"},
+			UnionNIface:   VWireUnionNIfaceX{},
+		},
+	},
 }
 var xAllFail = []vdlEntry(nil)
 var xAllPass = []vdlEntry{
@@ -87281,6 +95115,206 @@
 			},
 		},
 	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "XSelfCycle{}",
+		Target:      XSelfCycle{},
+		SourceLabel: "XSelfCycle{}",
+		Source:      XSelfCycle{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XSelfCycle{}",
+		Target:      XSelfCycle{},
+		SourceLabel: "XMutualCycleB{}",
+		Source:      XMutualCycleB{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XSelfCycle{}",
+		Target:      XSelfCycle{},
+		SourceLabel: "XStructEmpty{}",
+		Source:      XStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Target: XSelfCycle{
+			Data: -123,
+			Next: &XSelfCycle{
+				Data: -123,
+				Next: &XSelfCycle{
+					Data: -123,
+					Next: &XSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Source: XSelfCycle{
+			Data: -123,
+			Next: &XSelfCycle{
+				Data: -123,
+				Next: &XSelfCycle{
+					Data: -123,
+					Next: &XSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}}",
+		Target: XSelfCycle{
+			Next: &XSelfCycle{
+				Data: 2253179390369614770,
+				Next: &XSelfCycle{},
+			},
+		},
+		SourceLabel: "XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}}",
+		Source: XSelfCycle{
+			Next: &XSelfCycle{
+				Data: 2253179390369614770,
+				Next: &XSelfCycle{},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleB{}",
+		Target:      XMutualCycleB{},
+		SourceLabel: "XMutualCycleB{}",
+		Source:      XMutualCycleB{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleB{}",
+		Target:      XMutualCycleB{},
+		SourceLabel: "?XStructEmpty{}",
+		Source:      &XStructEmpty{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleB{}",
+		Target:      XMutualCycleB{},
+		SourceLabel: "XStructEmpty{}",
+		Source:      XStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Target: XMutualCycleB{
+			Data: -123,
+			A: &XMutualCycleA{
+				Data: -123,
+				B: &XMutualCycleB{
+					Data: -123,
+					A: &XMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Source: XMutualCycleB{
+			Data: -123,
+			A: &XMutualCycleA{
+				Data: -123,
+				B: &XMutualCycleB{
+					Data: -123,
+					A: &XMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "XMutualCycleB{A: {}}",
+		Target: XMutualCycleB{
+			A: &XMutualCycleA{},
+		},
+		SourceLabel: "XMutualCycleB{A: {}}",
+		Source: XMutualCycleB{
+			A: &XMutualCycleA{},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleA{}",
+		Target:      XMutualCycleA{},
+		SourceLabel: "XMutualCycleA{}",
+		Source:      XMutualCycleA{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleA{}",
+		Target:      XMutualCycleA{},
+		SourceLabel: "XSelfCycle{}",
+		Source:      XSelfCycle{},
+	},
+	{
+		Label:       "Zero",
+		TargetLabel: "XMutualCycleA{}",
+		Target:      XMutualCycleA{},
+		SourceLabel: "XStructEmpty{}",
+		Source:      XStructEmpty{},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Full",
+		TargetLabel: "XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Target: XMutualCycleA{
+			Data: -123,
+			B: &XMutualCycleB{
+				Data: -123,
+				A: &XMutualCycleA{
+					Data: -123,
+					B: &XMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+		SourceLabel: "XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Source: XMutualCycleA{
+			Data: -123,
+			B: &XMutualCycleB{
+				Data: -123,
+				A: &XMutualCycleA{
+					Data: -123,
+					B: &XMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+	},
+	{
+		IsCanonical: true,
+		Label:       "Random0",
+		TargetLabel: "XMutualCycleA{Data: -1006823554338124716, B: {}}",
+		Target: XMutualCycleA{
+			Data: -1006823554338124716,
+			B:    &XMutualCycleB{},
+		},
+		SourceLabel: "XMutualCycleA{Data: -1006823554338124716, B: {}}",
+		Source: XMutualCycleA{
+			Data: -1006823554338124716,
+			B:    &XMutualCycleB{},
+		},
+	},
 }
 
 var __VDLInitCalled bool
@@ -87304,6 +95338,28 @@
 	}
 	__VDLInitCalled = true
 
+	// Register native type conversions first, so that vdl.TypeOf works.
+	vdl.RegisterNative(VWireArrayNStringToNative, VWireArrayNStringFromNative)
+	vdl.RegisterNative(VWireArrayNStructToNative, VWireArrayNStructFromNative)
+	vdl.RegisterNative(VWireBoolNBoolToNative, VWireBoolNBoolFromNative)
+	vdl.RegisterNative(VWireBoolNStringToNative, VWireBoolNStringFromNative)
+	vdl.RegisterNative(VWireBoolNStructToNative, VWireBoolNStructFromNative)
+	vdl.RegisterNative(VWireIntNIntToNative, VWireIntNIntFromNative)
+	vdl.RegisterNative(VWireIntNStringToNative, VWireIntNStringFromNative)
+	vdl.RegisterNative(VWireIntNStructToNative, VWireIntNStructFromNative)
+	vdl.RegisterNative(VWireListNStringToNative, VWireListNStringFromNative)
+	vdl.RegisterNative(VWireListNStructToNative, VWireListNStructFromNative)
+	vdl.RegisterNative(VWireStringNStringToNative, VWireStringNStringFromNative)
+	vdl.RegisterNative(VWireStringNStructToNative, VWireStringNStructFromNative)
+	vdl.RegisterNative(VWireStructNArrayToNative, VWireStructNArrayFromNative)
+	vdl.RegisterNative(VWireStructNSliceToNative, VWireStructNSliceFromNative)
+	vdl.RegisterNative(VWireStructNStringToNative, VWireStructNStringFromNative)
+	vdl.RegisterNative(VWireStructNStructToNative, VWireStructNStructFromNative)
+	vdl.RegisterNative(VWireUnionNArrayToNative, VWireUnionNArrayFromNative)
+	vdl.RegisterNative(VWireUnionNSliceToNative, VWireUnionNSliceFromNative)
+	vdl.RegisterNative(VWireUnionNStringToNative, VWireUnionNStringFromNative)
+	vdl.RegisterNative(VWireUnionNStructToNative, VWireUnionNStructFromNative)
+
 	// Register types.
 	vdl.Register((*vdlEntry)(nil))
 	vdl.Register((*VBool)(nil))
@@ -87538,6 +95594,34 @@
 	vdl.Register((*VUnionDepth3_VStructDepth2_All)(nil))
 	vdl.Register((*VUnionDepth3_VUnionDepth2_All)(nil))
 	vdl.Register((*VUnionDepth3_OptVStructDepth2_Set_Float64)(nil))
+	vdl.Register((*VSelfCycle)(nil))
+	vdl.Register((*VMutualCycleB)(nil))
+	vdl.Register((*VMutualCycleA)(nil))
+	vdl.Register((*VWireBoolNBool)(nil))
+	vdl.Register((*VWireBoolNString)(nil))
+	vdl.Register((*VWireBoolNStruct)(nil))
+	vdl.Register((*VWireIntNInt)(nil))
+	vdl.Register((*VWireIntNString)(nil))
+	vdl.Register((*VWireIntNStruct)(nil))
+	vdl.Register((*VWireStringNString)(nil))
+	vdl.Register((*VWireStringNStruct)(nil))
+	vdl.Register((*VWireArrayNString)(nil))
+	vdl.Register((*VWireArrayNStruct)(nil))
+	vdl.Register((*VWireListNString)(nil))
+	vdl.Register((*VWireListNStruct)(nil))
+	vdl.Register((*VWireStructNString)(nil))
+	vdl.Register((*VWireStructNStruct)(nil))
+	vdl.Register((*VWireStructNArray)(nil))
+	vdl.Register((*VWireStructNSlice)(nil))
+	vdl.Register((*VWireStructNPointer)(nil))
+	vdl.Register((*VWireStructNIface)(nil))
+	vdl.Register((*VWireUnionNString)(nil))
+	vdl.Register((*VWireUnionNStruct)(nil))
+	vdl.Register((*VWireUnionNArray)(nil))
+	vdl.Register((*VWireUnionNSlice)(nil))
+	vdl.Register((*VWireUnionNPointer)(nil))
+	vdl.Register((*VWireUnionNIface)(nil))
+	vdl.Register((*VWireAll)(nil))
 	vdl.Register((*XBool)(nil))
 	vdl.Register((*XString)(nil))
 	vdl.Register((*XByte)(nil))
@@ -87770,6 +95854,9 @@
 	vdl.Register((*XUnionDepth3_XStructDepth2_All)(nil))
 	vdl.Register((*XUnionDepth3_XUnionDepth2_All)(nil))
 	vdl.Register((*XUnionDepth3_OptXStructDepth2_Set_Float64)(nil))
+	vdl.Register((*XSelfCycle)(nil))
+	vdl.Register((*XMutualCycleB)(nil))
+	vdl.Register((*XMutualCycleA)(nil))
 
 	return struct{}{}
 }
diff --git a/vdl/vdltest/ventry_fail_gen.vdl b/vdl/vdltest/ventry_fail_gen.vdl
index 0492990..6d1966c 100644
--- a/vdl/vdltest/ventry_fail_gen.vdl
+++ b/vdl/vdltest/ventry_fail_gen.vdl
@@ -9,39 +9,40 @@
 package vdltest
 
 // Entries: 0
-// ------------
-// |          |
-// ------------
-// |total     | [!can=0]
-// |isZero    | [!can=0]
-// ------------
-// |any       |
-// |optional  | [!can=0]
-// |bool      | [!can=0]
-// |byte      | [!can=0]
-// |uint16    | [!can=0]
-// |uint32    | [!can=0]
-// |uint64    | [!can=0]
-// |int8      | [!can=0]
-// |int16     | [!can=0]
-// |int32     | [!can=0]
-// |int64     | [!can=0]
-// |float32   | [!can=0]
-// |float64   | [!can=0]
-// |string    | [!can=0]
-// |enum      | [!can=0]
-// |typeobject|
-// |array     | [!can=0]
-// |list      | [!can=0]
-// |set       | [!can=0]
-// |map       | [!can=0]
-// |struct    | [!can=0]
-// |union     | [!can=0]
-// ------------
-// |IsNamed   | [!can=0]
-// |IsUnnamed | [!can=0]
-// |IsBytes   | [!can=0]
-// ------------
+// ---------------
+// |             |
+// ---------------
+// |total        | [!can=0]
+// |isZero       | [!can=0]
+// ---------------
+// |any          |
+// |optional     | [!can=0]
+// |bool         | [!can=0]
+// |byte         | [!can=0]
+// |uint16       | [!can=0]
+// |uint32       | [!can=0]
+// |uint64       | [!can=0]
+// |int8         | [!can=0]
+// |int16        | [!can=0]
+// |int32        | [!can=0]
+// |int64        | [!can=0]
+// |float32      | [!can=0]
+// |float64      | [!can=0]
+// |string       | [!can=0]
+// |enum         | [!can=0]
+// |typeobject   |
+// |array        | [!can=0]
+// |list         | [!can=0]
+// |set          | [!can=0]
+// |map          | [!can=0]
+// |struct       | [!can=0]
+// |union        | [!can=0]
+// ---------------
+// |IsNamed      | [!can=0]
+// |IsUnnamed    | [!can=0]
+// |IsBytes      | [!can=0]
+// |IsPartOfCycle| [!can=0]
+// ---------------
 // 
 // Each column has a pair of entry counts (canonical,non-canonical), computed
 // from the Source value.  An entry is canonical if Target == Source.
diff --git a/vdl/vdltest/ventry_pass_gen.vdl b/vdl/vdltest/ventry_pass_gen.vdl
index 1553594..6ee1ac6 100644
--- a/vdl/vdltest/ventry_pass_gen.vdl
+++ b/vdl/vdltest/ventry_pass_gen.vdl
@@ -8,40 +8,41 @@
 
 package vdltest
 
-// Entries: 2443
-// --------------------------------------------------------------------------------------
-// |          | Total  | +Max | +Min |-Max |-Min | Full  |NilAny|Random | Zero  |isZero |
-// --------------------------------------------------------------------------------------
-// |total     |947,1496|20,114|20,184|12,44|12,64|321,307|  0, 8|238,219|324,556|324,404| [!can max=11]
-// |isZero    |324, 404| 0,  0| 0,  0| 0, 0| 0, 0|  0,  2|  0, 8|  0,  0|324,394|324,404| [!can max=3]
-// --------------------------------------------------------------------------------------
-// |any       |  1,   8| 0,  0| 0,  0| 0, 0| 0, 0|  0,  0|  0, 8|  0,  0|  1,  0|  1,  8| [nil=9]
-// |optional  | 21,  58| 0,  0| 0,  0| 0, 0| 0, 0|  8,  4|  0, 0|  5,  4|  8, 50|  8, 11| [!can max=3] [nil=19]
-// |bool      |  4,   4| 0,  0| 0,  0| 0, 0| 0, 0|  2,  2|  0, 0|  0,  0|  2,  2|  2,  2| [!can max=1]
-// |byte      | 10,  28| 2,  3| 2, 20| 0, 0| 0, 0|  2,  2|  0, 0|  2,  0|  2,  3|  2,  3| [!can max=11]
-// |uint16    | 10,  32| 2,  9| 2, 18| 0, 0| 0, 0|  2,  1|  0, 0|  2,  1|  2,  3|  2,  3| [!can max=11]
-// |uint32    | 10,  34| 2, 14| 2, 15| 0, 0| 0, 0|  2,  1|  0, 0|  2,  1|  2,  3|  2,  3| [!can max=11]
-// |uint64    | 10,  49| 2, 24| 2, 18| 0, 0| 0, 0|  2,  0|  0, 0|  2,  4|  2,  3|  2,  3| [!can max=11]
-// |int8      | 14,  35| 2,  0| 2, 16| 2, 1| 2, 9|  2,  5|  0, 0|  2,  0|  2,  4|  2,  4| [!can max=11]
-// |int16     | 14,  39| 2,  5| 2, 17| 2, 4| 2, 8|  2,  0|  0, 0|  2,  0|  2,  5|  2,  5| [!can max=11]
-// |int32     | 14,  48| 2,  9| 2, 16| 2, 6| 2, 9|  2,  3|  0, 0|  2,  0|  2,  5|  2,  5| [!can max=11]
-// |int64     | 14,  66| 2, 17| 2, 17| 2,11| 2, 9|  2,  1|  0, 0|  2,  4|  2,  7|  2,  7| [!can max=11]
-// |float32   | 14,  63| 2, 12| 2, 23| 2, 6| 2,14|  2,  4|  0, 0|  2,  2|  2,  2|  2,  2| [!can max=3]
-// |float64   | 14,  92| 2, 21| 2, 24| 2,16| 2,15|  2,  3|  0, 0|  2,  8|  2,  5|  2,  5| [!can max=2]
-// |string    |  6,  17| 0,  0| 0,  0| 0, 0| 0, 0|  2, 10|  0, 0|  2,  2|  2,  5|  2,  2| [!can max=1]
-// |enum      |  6,   4| 0,  0| 0,  0| 0, 0| 0, 0|  4,  3|  0, 0|  0,  0|  2,  1|  2,  1| [!can max=3]
-// |typeobject|  3,   0| 0,  0| 0,  0| 0, 0| 0, 0|  1,  0|  0, 0|  1,  0|  1,  0|  1,  0|
-// |array     | 88,  20| 0,  0| 0,  0| 0, 0| 0, 0| 31,  4|  0, 0| 25,  9| 32,  7| 32,  2| [!can max=2] [len min=1 max=3]
-// |list      |170, 334| 0,  0| 0,  0| 0, 0| 0, 0| 64, 91|  0, 0| 42, 58| 64,185| 64,128| [!can max=2] [len max=3]
-// |set       |100, 116| 0,  0| 0,  0| 0, 0| 0, 0| 38, 32|  0, 0| 24, 20| 38, 64| 38, 64| [!can max=2] [len max=3]
-// |map       |102, 106| 0,  0| 0,  0| 0, 0| 0, 0| 38, 28|  0, 0| 26, 16| 38, 62| 38, 62| [!can max=2] [len max=3]
-// |struct    |163, 180| 0,  0| 0,  0| 0, 0| 0, 0| 57, 57|  0, 0| 47, 44| 59, 79| 59, 80| [!can max=2]
-// |union     |159, 163| 0,  0| 0,  0| 0, 0| 0, 0| 56, 56|  0, 0| 46, 46| 57, 61| 57,  4| [!can max=2]
-// --------------------------------------------------------------------------------------
-// |IsNamed   |668, 902|10, 57|10, 92| 6,22| 6,32|230,205|  0, 0|174,163|232,331|232,239| [!can max=11]
-// |IsUnnamed |279, 594|10, 57|10, 92| 6,22| 6,32| 91,102|  0, 8| 64, 56| 92,225| 92,165| [!can max=11]
-// |IsBytes   | 18,  15| 0,  0| 0,  0| 0, 0| 0, 0|  6,  4|  0, 0|  6,  2|  6,  9|  6,  3| [!can max=2]
-// --------------------------------------------------------------------------------------
+// Entries: 2757
+// ------------------------------------------------------------------------------------------
+// |             |  Total  | +Max | +Min |-Max |-Min | Full  |NilAny|Random | Zero  |isZero |
+// ------------------------------------------------------------------------------------------
+// |total        |1040,1717|23,141|23,226|15,65|15,94|349,331|  0, 8|263,240|352,612|352,452| [!can max=14]
+// |isZero       | 352, 452| 0,  0| 0,  0| 0, 0| 0, 0|  0,  2|  0, 8|  0,  0|352,442|352,452| [!can max=3]
+// ------------------------------------------------------------------------------------------
+// |any          |   1,   8| 0,  0| 0,  0| 0, 0| 0, 0|  0,  0|  0, 8|  0,  0|  1,  0|  1,  8| [nil=9]
+// |optional     |  21,  62| 0,  0| 0,  0| 0, 0| 0, 0|  8,  4|  0, 0|  5,  4|  8, 54|  8, 11| [!can max=3] [nil=19]
+// |bool         |  10,  13| 0,  0| 0,  0| 0, 0| 0, 0|  5,  5|  0, 0|  0,  0|  5,  8|  5,  8| [!can max=2]
+// |byte         |  10,  31| 2,  3| 2, 23| 0, 0| 0, 0|  2,  2|  0, 0|  2,  0|  2,  3|  2,  3| [!can max=11]
+// |uint16       |  10,  37| 2,  9| 2, 22| 0, 0| 0, 0|  2,  1|  0, 0|  2,  1|  2,  4|  2,  4| [!can max=11]
+// |uint32       |  10,  43| 2, 18| 2, 19| 0, 0| 0, 0|  2,  1|  0, 0|  2,  1|  2,  4|  2,  4| [!can max=11]
+// |uint64       |  10,  58| 2, 28| 2, 22| 0, 0| 0, 0|  2,  0|  0, 0|  2,  4|  2,  4|  2,  4| [!can max=11]
+// |int8         |  14,  44| 2,  0| 2, 19| 2, 1| 2,14|  2,  6|  0, 0|  2,  0|  2,  4|  2,  4| [!can max=11]
+// |int16        |  14,  49| 2,  5| 2, 22| 2, 4| 2,13|  2,  0|  0, 0|  2,  0|  2,  5|  2,  5| [!can max=11]
+// |int32        |  35,  91| 5, 19| 5, 25| 5,18| 5,18|  5,  4|  0, 0|  5,  2|  5,  5|  5,  5| [!can max=14]
+// |int64        |  14,  86| 2, 21| 2, 21| 2,16| 2,13|  2,  1|  0, 0|  2,  5|  2,  9|  2,  9| [!can max=11]
+// |float32      |  14,  71| 2, 12| 2, 26| 2, 6| 2,18|  2,  4|  0, 0|  2,  2|  2,  3|  2,  3| [!can max=3]
+// |float64      |  14, 108| 2, 26| 2, 27| 2,20| 2,18|  2,  4|  0, 0|  2,  8|  2,  5|  2,  5| [!can max=2]
+// |string       |  12,  25| 0,  0| 0,  0| 0, 0| 0, 0|  4, 12|  0, 0|  4,  4|  4,  9|  4,  6| [!can max=2]
+// |enum         |   6,   4| 0,  0| 0,  0| 0, 0| 0, 0|  4,  3|  0, 0|  0,  0|  2,  1|  2,  1| [!can max=3]
+// |typeobject   |   3,   0| 0,  0| 0,  0| 0, 0| 0, 0|  1,  0|  0, 0|  1,  0|  1,  0|  1,  0|
+// |array        |  94,  22| 0,  0| 0,  0| 0, 0| 0, 0| 33,  6|  0, 0| 27,  9| 34,  7| 34,  2| [!can max=2] [len min=1 max=3]
+// |list         | 176, 348| 0,  0| 0,  0| 0, 0| 0, 0| 66, 93|  0, 0| 44, 62| 66,193| 66,132| [!can max=2] [len max=3]
+// |set          | 100, 116| 0,  0| 0,  0| 0, 0| 0, 0| 38, 32|  0, 0| 24, 20| 38, 64| 38, 64| [!can max=2] [len max=3]
+// |map          | 102, 106| 0,  0| 0,  0| 0, 0| 0, 0| 38, 28|  0, 0| 26, 16| 38, 62| 38, 62| [!can max=2] [len max=3]
+// |struct       | 193, 208| 0,  0| 0,  0| 0, 0| 0, 0| 67, 63|  0, 0| 57, 50| 69, 95| 69, 96| [!can max=2]
+// |union        | 177, 187| 0,  0| 0,  0| 0, 0| 0, 0| 62, 62|  0, 0| 52, 52| 63, 73| 63, 16| [!can max=2]
+// ------------------------------------------------------------------------------------------
+// |IsNamed      | 761,1075|13, 78|13,128| 9,37| 9,56|258,226|  0, 0|199,180|260,370|260,277| [!can max=14]
+// |IsUnnamed    | 279, 642|10, 63|10, 98| 6,28| 6,38| 91,105|  0, 8| 64, 60| 92,242| 92,175| [!can max=11]
+// |IsBytes      |  18,  15| 0,  0| 0,  0| 0, 0| 0, 0|  6,  4|  0, 0|  6,  2|  6,  9|  6,  3| [!can max=2]
+// |IsPartOfCycle|   9,   4| 0,  0| 0,  0| 0, 0| 0, 0|  3,  0|  0, 0|  3,  0|  3,  4|  3,  4| [!can max=2]
+// ------------------------------------------------------------------------------------------
 // 
 // Each column has a pair of entry counts (canonical,non-canonical), computed
 // from the Source value.  An entry is canonical if Target == Source.
@@ -9325,4 +9326,916 @@
 	  `VStructDepth1_Any{F0: VArray1_Set_VEnumBcd{{D}}}`,
 	  VStructDepth1_Any{F0: VArray1_Set_VEnumBcd{{D}}},
 	},
+	// Canonical
+	{ true, `Zero`, `VSelfCycle{}`, VSelfCycle{}, `VSelfCycle{}`, VSelfCycle{} },
+	{ false, `Zero`, `VSelfCycle{}`, VSelfCycle{}, `VMutualCycleA{}`, VMutualCycleA{} },
+	{ false, `Zero`, `VSelfCycle{}`, VSelfCycle{}, `VMutualCycleB{}`, VMutualCycleB{} },
+	// Canonical
+	{ true, `Full`,
+	  `VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+	  VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+	  `VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+	  VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}}`,
+	  VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}},
+	  `VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}}`,
+	  VSelfCycle{Data: -3933048656192887342, Next: {Data: -1666879701135447875, Next: {}}},
+	},
+	// Canonical
+	{ true, `Zero`, `VMutualCycleB{}`, VMutualCycleB{}, `VMutualCycleB{}`, VMutualCycleB{} },
+	{ false, `Zero`, `VMutualCycleB{}`, VMutualCycleB{}, `VSelfCycle{}`, VSelfCycle{} },
+	{ false, `Zero`, `VMutualCycleB{}`, VMutualCycleB{}, `?VStructEmpty{}`, ?VStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+	  VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+	  `VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+	  VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}}`,
+	  VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}},
+	  `VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}}`,
+	  VMutualCycleB{Data: 3315306687289648358, A: {B: {Data: -830867813984030735}}},
+	},
+	// Canonical
+	{ true, `Zero`, `VMutualCycleA{}`, VMutualCycleA{}, `VMutualCycleA{}`, VMutualCycleA{} },
+	{ false, `Zero`, `VMutualCycleA{}`, VMutualCycleA{}, `VSelfCycle{}`, VSelfCycle{} },
+	{ false, `Zero`, `VMutualCycleA{}`, VMutualCycleA{}, `?VStructEmpty{}`, ?VStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+	  VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+	  `VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+	  VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VMutualCycleA{Data: -1454793165023012937, B: {}}`,
+	  VMutualCycleA{Data: -1454793165023012937, B: {}},
+	  `VMutualCycleA{Data: -1454793165023012937, B: {}}`,
+	  VMutualCycleA{Data: -1454793165023012937, B: {}},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireBoolNBool(false)`, VWireBoolNBool(false), `VWireBoolNBool(false)`, VWireBoolNBool(false) },
+	{ false, `Zero`, `VWireBoolNBool(false)`, VWireBoolNBool(false), `VWireBoolNString(false)`, VWireBoolNString(false) },
+	{ false, `Zero`, `VWireBoolNBool(false)`, VWireBoolNBool(false), `VWireBoolNStruct(false)`, VWireBoolNStruct(false) },
+	// Canonical
+	{ true, `Full`, `VWireBoolNBool(true)`, VWireBoolNBool(true), `VWireBoolNBool(true)`, VWireBoolNBool(true) },
+	{ false, `Full`, `VWireBoolNBool(true)`, VWireBoolNBool(true), `VWireBoolNStruct(true)`, VWireBoolNStruct(true) },
+	// Canonical
+	{ true, `Zero`, `VWireBoolNString(false)`, VWireBoolNString(false), `VWireBoolNString(false)`, VWireBoolNString(false) },
+	{ false, `Zero`, `VWireBoolNString(false)`, VWireBoolNString(false), `VWireBoolNStruct(false)`, VWireBoolNStruct(false) },
+	{ false, `Zero`, `VWireBoolNString(false)`, VWireBoolNString(false), `false`, false },
+	// Canonical
+	{ true, `Full`, `VWireBoolNString(true)`, VWireBoolNString(true), `VWireBoolNString(true)`, VWireBoolNString(true) },
+	{ false, `Full`, `VWireBoolNString(true)`, VWireBoolNString(true), `VWireBoolNBool(true)`, VWireBoolNBool(true) },
+	// Canonical
+	{ true, `Zero`, `VWireBoolNStruct(false)`, VWireBoolNStruct(false), `VWireBoolNStruct(false)`, VWireBoolNStruct(false) },
+	{ false, `Zero`, `VWireBoolNStruct(false)`, VWireBoolNStruct(false), `VWireBoolNString(false)`, VWireBoolNString(false) },
+	{ false, `Zero`, `VWireBoolNStruct(false)`, VWireBoolNStruct(false), `false`, false },
+	// Canonical
+	{ true, `Full`, `VWireBoolNStruct(true)`, VWireBoolNStruct(true), `VWireBoolNStruct(true)`, VWireBoolNStruct(true) },
+	{ false, `Full`, `VWireBoolNStruct(true)`, VWireBoolNStruct(true), `true`, true },
+	// Canonical
+	{ true, `Zero`, `VWireIntNInt(0)`, VWireIntNInt(0), `VWireIntNInt(0)`, VWireIntNInt(0) },
+	{ false, `Zero`, `VWireIntNInt(0)`, VWireIntNInt(0), `int64(0)`, int64(0) },
+	{ false, `Zero`, `VWireIntNInt(0)`, VWireIntNInt(0), `uint16(0)`, uint16(0) },
+	// Canonical
+	{ true, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647) },
+	{ false, `+Max`,
+	  `VWireIntNInt(2147483647)`,
+	  VWireIntNInt(2147483647),
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	},
+	{ false, `+Max`,
+	  `VWireIntNInt(2147483647)`,
+	  VWireIntNInt(2147483647),
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	},
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VUint32(2147483647)`, VUint32(2147483647) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VUint64(2147483647)`, VUint64(2147483647) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VInt32(2147483647)`, VInt32(2147483647) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VInt64(2147483647)`, VInt64(2147483647) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `VFloat64(2.147483647e+09)`, VFloat64(2.147483647e+09) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `uint64(2147483647)`, uint64(2147483647) },
+	{ false, `+Max`, `VWireIntNInt(2147483647)`, VWireIntNInt(2147483647), `float64(2.147483647e+09)`, float64(2.147483647e+09) },
+	// Canonical
+	{ true, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VWireIntNInt(1)`, VWireIntNInt(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VWireIntNString(1)`, VWireIntNString(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VWireIntNStruct(1)`, VWireIntNStruct(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VByte(1)`, VByte(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VUint16(1)`, VUint16(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VUint32(1)`, VUint32(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VUint64(1)`, VUint64(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VInt8(1)`, VInt8(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VInt16(1)`, VInt16(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VInt32(1)`, VInt32(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VInt64(1)`, VInt64(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VFloat32(1)`, VFloat32(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `VFloat64(1)`, VFloat64(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `uint64(1)`, uint64(1) },
+	{ false, `+Min`, `VWireIntNInt(1)`, VWireIntNInt(1), `uint32(1)`, uint32(1) },
+	// Canonical
+	{ true, `-Max`,
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	},
+	{ false, `-Max`, `VWireIntNInt(-2147483648)`, VWireIntNInt(-2147483648), `VInt32(-2147483648)`, VInt32(-2147483648) },
+	{ false, `-Max`, `VWireIntNInt(-2147483648)`, VWireIntNInt(-2147483648), `VInt64(-2147483648)`, VInt64(-2147483648) },
+	{ false, `-Max`,
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	  `VFloat64(-2.147483648e+09)`,
+	  VFloat64(-2.147483648e+09),
+	},
+	{ false, `-Max`, `VWireIntNInt(-2147483648)`, VWireIntNInt(-2147483648), `int64(-2147483648)`, int64(-2147483648) },
+	{ false, `-Max`, `VWireIntNInt(-2147483648)`, VWireIntNInt(-2147483648), `int32(-2147483648)`, int32(-2147483648) },
+	// Canonical
+	{ true, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VWireIntNInt(-1)`, VWireIntNInt(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VWireIntNString(-1)`, VWireIntNString(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VWireIntNStruct(-1)`, VWireIntNStruct(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VInt8(-1)`, VInt8(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VInt16(-1)`, VInt16(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VInt32(-1)`, VInt32(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VInt64(-1)`, VInt64(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VFloat32(-1)`, VFloat32(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `VFloat64(-1)`, VFloat64(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `int8(-1)`, int8(-1) },
+	{ false, `-Min`, `VWireIntNInt(-1)`, VWireIntNInt(-1), `int16(-1)`, int16(-1) },
+	// Canonical
+	{ true, `Full`, `VWireIntNInt(-123)`, VWireIntNInt(-123), `VWireIntNInt(-123)`, VWireIntNInt(-123) },
+	{ false, `Full`, `VWireIntNInt(-123)`, VWireIntNInt(-123), `int8(-123)`, int8(-123) },
+	// Canonical
+	{ true, `Random0`, `VWireIntNInt(-456364020)`, VWireIntNInt(-456364020), `VWireIntNInt(-456364020)`, VWireIntNInt(-456364020) },
+	{ false, `Random0`,
+	  `VWireIntNInt(-456364020)`,
+	  VWireIntNInt(-456364020),
+	  `VWireIntNStruct(-456364020)`,
+	  VWireIntNStruct(-456364020),
+	},
+	// Canonical
+	{ true, `Zero`, `VWireIntNString(0)`, VWireIntNString(0), `VWireIntNString(0)`, VWireIntNString(0) },
+	{ false, `Zero`, `VWireIntNString(0)`, VWireIntNString(0), `int64(0)`, int64(0) },
+	{ false, `Zero`, `VWireIntNString(0)`, VWireIntNString(0), `VUint32(0)`, VUint32(0) },
+	// Canonical
+	{ true, `+Max`,
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	},
+	{ false, `+Max`,
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	  `VWireIntNInt(2147483647)`,
+	  VWireIntNInt(2147483647),
+	},
+	{ false, `+Max`,
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	},
+	{ false, `+Max`, `VWireIntNString(2147483647)`, VWireIntNString(2147483647), `VUint32(2147483647)`, VUint32(2147483647) },
+	{ false, `+Max`, `VWireIntNString(2147483647)`, VWireIntNString(2147483647), `VUint64(2147483647)`, VUint64(2147483647) },
+	{ false, `+Max`, `VWireIntNString(2147483647)`, VWireIntNString(2147483647), `VInt32(2147483647)`, VInt32(2147483647) },
+	{ false, `+Max`, `VWireIntNString(2147483647)`, VWireIntNString(2147483647), `VInt64(2147483647)`, VInt64(2147483647) },
+	{ false, `+Max`,
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	  `VFloat64(2.147483647e+09)`,
+	  VFloat64(2.147483647e+09),
+	},
+	{ false, `+Max`, `VWireIntNString(2147483647)`, VWireIntNString(2147483647), `int32(2147483647)`, int32(2147483647) },
+	{ false, `+Max`,
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	  `float64(2.147483647e+09)`,
+	  float64(2.147483647e+09),
+	},
+	// Canonical
+	{ true, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VWireIntNString(1)`, VWireIntNString(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VWireIntNInt(1)`, VWireIntNInt(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VWireIntNStruct(1)`, VWireIntNStruct(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VByte(1)`, VByte(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VUint16(1)`, VUint16(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VUint32(1)`, VUint32(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VUint64(1)`, VUint64(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VInt8(1)`, VInt8(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VInt16(1)`, VInt16(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VInt32(1)`, VInt32(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VInt64(1)`, VInt64(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VFloat32(1)`, VFloat32(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `VFloat64(1)`, VFloat64(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `int64(1)`, int64(1) },
+	{ false, `+Min`, `VWireIntNString(1)`, VWireIntNString(1), `int16(1)`, int16(1) },
+	// Canonical
+	{ true, `-Max`,
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	},
+	{ false, `-Max`, `VWireIntNString(-2147483648)`, VWireIntNString(-2147483648), `VInt32(-2147483648)`, VInt32(-2147483648) },
+	{ false, `-Max`, `VWireIntNString(-2147483648)`, VWireIntNString(-2147483648), `VInt64(-2147483648)`, VInt64(-2147483648) },
+	{ false, `-Max`,
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	  `VFloat64(-2.147483648e+09)`,
+	  VFloat64(-2.147483648e+09),
+	},
+	{ false, `-Max`, `VWireIntNString(-2147483648)`, VWireIntNString(-2147483648), `int64(-2147483648)`, int64(-2147483648) },
+	{ false, `-Max`, `VWireIntNString(-2147483648)`, VWireIntNString(-2147483648), `int32(-2147483648)`, int32(-2147483648) },
+	// Canonical
+	{ true, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VWireIntNString(-1)`, VWireIntNString(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VWireIntNInt(-1)`, VWireIntNInt(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VWireIntNStruct(-1)`, VWireIntNStruct(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VInt8(-1)`, VInt8(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VInt16(-1)`, VInt16(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VInt32(-1)`, VInt32(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VInt64(-1)`, VInt64(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VFloat32(-1)`, VFloat32(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `VFloat64(-1)`, VFloat64(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `int8(-1)`, int8(-1) },
+	{ false, `-Min`, `VWireIntNString(-1)`, VWireIntNString(-1), `int64(-1)`, int64(-1) },
+	// Canonical
+	{ true, `Full`, `VWireIntNString(-123)`, VWireIntNString(-123), `VWireIntNString(-123)`, VWireIntNString(-123) },
+	{ false, `Full`, `VWireIntNString(-123)`, VWireIntNString(-123), `VWireIntNStruct(-123)`, VWireIntNStruct(-123) },
+	// Canonical
+	{ true, `Random0`,
+	  `VWireIntNString(891620478)`,
+	  VWireIntNString(891620478),
+	  `VWireIntNString(891620478)`,
+	  VWireIntNString(891620478),
+	},
+	{ false, `Random0`, `VWireIntNString(891620478)`, VWireIntNString(891620478), `VWireIntNInt(891620478)`, VWireIntNInt(891620478) },
+	// Canonical
+	{ true, `Zero`, `VWireIntNStruct(0)`, VWireIntNStruct(0), `VWireIntNStruct(0)`, VWireIntNStruct(0) },
+	{ false, `Zero`, `VWireIntNStruct(0)`, VWireIntNStruct(0), `float32(0)`, float32(0) },
+	{ false, `Zero`, `VWireIntNStruct(0)`, VWireIntNStruct(0), `VUint64(0)`, VUint64(0) },
+	// Canonical
+	{ true, `+Max`,
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	},
+	{ false, `+Max`,
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	  `VWireIntNInt(2147483647)`,
+	  VWireIntNInt(2147483647),
+	},
+	{ false, `+Max`,
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	  `VWireIntNString(2147483647)`,
+	  VWireIntNString(2147483647),
+	},
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `VUint32(2147483647)`, VUint32(2147483647) },
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `VUint64(2147483647)`, VUint64(2147483647) },
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `VInt32(2147483647)`, VInt32(2147483647) },
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `VInt64(2147483647)`, VInt64(2147483647) },
+	{ false, `+Max`,
+	  `VWireIntNStruct(2147483647)`,
+	  VWireIntNStruct(2147483647),
+	  `VFloat64(2.147483647e+09)`,
+	  VFloat64(2.147483647e+09),
+	},
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `uint32(2147483647)`, uint32(2147483647) },
+	{ false, `+Max`, `VWireIntNStruct(2147483647)`, VWireIntNStruct(2147483647), `int64(2147483647)`, int64(2147483647) },
+	// Canonical
+	{ true, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VWireIntNStruct(1)`, VWireIntNStruct(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VWireIntNInt(1)`, VWireIntNInt(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VWireIntNString(1)`, VWireIntNString(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VByte(1)`, VByte(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VUint16(1)`, VUint16(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VUint32(1)`, VUint32(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VUint64(1)`, VUint64(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VInt8(1)`, VInt8(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VInt16(1)`, VInt16(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VInt32(1)`, VInt32(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VInt64(1)`, VInt64(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VFloat32(1)`, VFloat32(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `VFloat64(1)`, VFloat64(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `uint16(1)`, uint16(1) },
+	{ false, `+Min`, `VWireIntNStruct(1)`, VWireIntNStruct(1), `int16(1)`, int16(1) },
+	// Canonical
+	{ true, `-Max`,
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	  `VWireIntNInt(-2147483648)`,
+	  VWireIntNInt(-2147483648),
+	},
+	{ false, `-Max`,
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	  `VWireIntNString(-2147483648)`,
+	  VWireIntNString(-2147483648),
+	},
+	{ false, `-Max`, `VWireIntNStruct(-2147483648)`, VWireIntNStruct(-2147483648), `VInt32(-2147483648)`, VInt32(-2147483648) },
+	{ false, `-Max`, `VWireIntNStruct(-2147483648)`, VWireIntNStruct(-2147483648), `VInt64(-2147483648)`, VInt64(-2147483648) },
+	{ false, `-Max`,
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	  `VFloat64(-2.147483648e+09)`,
+	  VFloat64(-2.147483648e+09),
+	},
+	{ false, `-Max`, `VWireIntNStruct(-2147483648)`, VWireIntNStruct(-2147483648), `int32(-2147483648)`, int32(-2147483648) },
+	{ false, `-Max`,
+	  `VWireIntNStruct(-2147483648)`,
+	  VWireIntNStruct(-2147483648),
+	  `float64(-2.147483648e+09)`,
+	  float64(-2.147483648e+09),
+	},
+	// Canonical
+	{ true, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VWireIntNStruct(-1)`, VWireIntNStruct(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VWireIntNInt(-1)`, VWireIntNInt(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VWireIntNString(-1)`, VWireIntNString(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VInt8(-1)`, VInt8(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VInt16(-1)`, VInt16(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VInt32(-1)`, VInt32(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VInt64(-1)`, VInt64(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VFloat32(-1)`, VFloat32(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `VFloat64(-1)`, VFloat64(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `int16(-1)`, int16(-1) },
+	{ false, `-Min`, `VWireIntNStruct(-1)`, VWireIntNStruct(-1), `float32(-1)`, float32(-1) },
+	// Canonical
+	{ true, `Full`, `VWireIntNStruct(-123)`, VWireIntNStruct(-123), `VWireIntNStruct(-123)`, VWireIntNStruct(-123) },
+	{ false, `Full`, `VWireIntNStruct(-123)`, VWireIntNStruct(-123), `VFloat64(-123)`, VFloat64(-123) },
+	// Canonical
+	{ true, `Random0`,
+	  `VWireIntNStruct(-472003459)`,
+	  VWireIntNStruct(-472003459),
+	  `VWireIntNStruct(-472003459)`,
+	  VWireIntNStruct(-472003459),
+	},
+	{ false, `Random0`, `VWireIntNStruct(-472003459)`, VWireIntNStruct(-472003459), `int64(-472003459)`, int64(-472003459) },
+	// Canonical
+	{ true, `Zero`, `VWireStringNString("")`, VWireStringNString(""), `VWireStringNString("")`, VWireStringNString("") },
+	{ false, `Zero`, `VWireStringNString("")`, VWireStringNString(""), `""`, "" },
+	{ false, `Zero`, `VWireStringNString("")`, VWireStringNString(""), `VWireStringNStruct("")`, VWireStringNStruct("") },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNString("abcdeΔΘΠΣΦ王普澤世界"),
+	  `VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNString("abcdeΔΘΠΣΦ王普澤世界"),
+	},
+	{ false, `Full`,
+	  `VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNString("abcdeΔΘΠΣΦ王普澤世界"),
+	  `VString("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VString("abcdeΔΘΠΣΦ王普澤世界"),
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStringNString("cde")`,
+	  VWireStringNString("cde"),
+	  `VWireStringNString("cde")`,
+	  VWireStringNString("cde"),
+	},
+	{ false, `Random0`, `VWireStringNString("cde")`, VWireStringNString("cde"), `"cde"`, "cde" },
+	// Canonical
+	{ true, `Zero`, `VWireStringNStruct("")`, VWireStringNStruct(""), `VWireStringNStruct("")`, VWireStringNStruct("") },
+	{ false, `Zero`, `VWireStringNStruct("")`, VWireStringNStruct(""), `VString("")`, VString("") },
+	{ false, `Zero`, `VWireStringNStruct("")`, VWireStringNStruct(""), `VWireStringNString("")`, VWireStringNString("") },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界"),
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界"),
+	},
+	{ false, `Full`,
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界"),
+	  `"abcdeΔΘΠΣΦ王普澤世界"`,
+	  "abcdeΔΘΠΣΦ王普澤世界",
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤"),
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤"),
+	},
+	{ false, `Random0`,
+	  `VWireStringNStruct("abcdeΔΘΠΣΦ王普澤")`,
+	  VWireStringNStruct("abcdeΔΘΠΣΦ王普澤"),
+	  `"abcdeΔΘΠΣΦ王普澤"`,
+	  "abcdeΔΘΠΣΦ王普澤",
+	},
+	// Canonical
+	{ true, `Zero`, `VWireArrayNString{}`, VWireArrayNString{}, `VWireArrayNString{}`, VWireArrayNString{} },
+	{ false, `Zero`, `VWireArrayNString{}`, VWireArrayNString{}, `[]string{""}`, []string{""} },
+	{ false, `Zero`, `VWireArrayNString{}`, VWireArrayNString{}, `VWireListNString{""}`, VWireListNString{""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VList_String{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VList_String{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`, `VWireArrayNString{"a"}`, VWireArrayNString{"a"}, `VWireArrayNString{"a"}`, VWireArrayNString{"a"} },
+	{ false, `Random0`, `VWireArrayNString{"a"}`, VWireArrayNString{"a"}, `VList_String{"a"}`, VList_String{"a"} },
+	// Canonical
+	{ true, `Zero`, `VWireArrayNStruct{}`, VWireArrayNStruct{}, `VWireArrayNStruct{}`, VWireArrayNStruct{} },
+	{ false, `Zero`, `VWireArrayNStruct{}`, VWireArrayNStruct{}, `[]string{""}`, []string{""} },
+	{ false, `Zero`, `VWireArrayNStruct{}`, VWireArrayNStruct{}, `[]VString{""}`, []VString{""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VList_Any{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VList_Any{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireArrayNStruct{"cdeΔΘΠΣ"}`,
+	  VWireArrayNStruct{"cdeΔΘΠΣ"},
+	  `VWireArrayNStruct{"cdeΔΘΠΣ"}`,
+	  VWireArrayNStruct{"cdeΔΘΠΣ"},
+	},
+	{ false, `Random0`,
+	  `VWireArrayNStruct{"cdeΔΘΠΣ"}`,
+	  VWireArrayNStruct{"cdeΔΘΠΣ"},
+	  `VWireListNStruct{"cdeΔΘΠΣ"}`,
+	  VWireListNStruct{"cdeΔΘΠΣ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireListNString{}`, VWireListNString{}, `VWireListNString{}`, VWireListNString{} },
+	{ false, `Zero`, `VWireListNString{}`, VWireListNString{}, `[]VString{}`, []VString{} },
+	{ false, `Zero`, `VWireListNString{}`, VWireListNString{}, `[]VEnumAbc{}`, []VEnumAbc{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VArray1_String{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VArray1_String{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`, `VWireListNString{"de"}`, VWireListNString{"de"}, `VWireListNString{"de"}`, VWireListNString{"de"} },
+	{ false, `Random0`, `VWireListNString{"de"}`, VWireListNString{"de"}, `VWireListNStruct{"de"}`, VWireListNStruct{"de"} },
+	// Canonical
+	{ true, `Zero`, `VWireListNStruct{}`, VWireListNStruct{}, `VWireListNStruct{}`, VWireListNStruct{} },
+	{ false, `Zero`, `VWireListNStruct{}`, VWireListNStruct{}, `VList_VString{}`, VList_VString{} },
+	{ false, `Zero`, `VWireListNStruct{}`, VWireListNStruct{}, `[]VEnumAbc{}`, []VEnumAbc{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"}`,
+	  VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"},
+	  `VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"}`,
+	  VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"},
+	},
+	{ false, `Random0`,
+	  `VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"}`,
+	  VWireListNStruct{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"},
+	  `[]any{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"}`,
+	  []any{"deΔΘΠΣΦ王普", "澤世", "bcdeΔΘΠΣΦ王"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNString{}`, VWireStructNString{}, `VWireStructNString{}`, VWireStructNString{} },
+	{ false, `Zero`, `VWireStructNString{}`, VWireStructNString{}, `VWireStructNArray{}`, VWireStructNArray{} },
+	{ false, `Zero`, `VWireStructNString{}`, VWireStructNString{}, `VWireStructNPointer{}`, VWireStructNPointer{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNString{X: "ΘΠΣΦ"}`,
+	  VWireStructNString{X: "ΘΠΣΦ"},
+	  `VWireStructNString{X: "ΘΠΣΦ"}`,
+	  VWireStructNString{X: "ΘΠΣΦ"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNString{X: "ΘΠΣΦ"}`,
+	  VWireStructNString{X: "ΘΠΣΦ"},
+	  `VWireStructNIface{X: "ΘΠΣΦ"}`,
+	  VWireStructNIface{X: "ΘΠΣΦ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNStruct{}`, VWireStructNStruct{}, `VWireStructNStruct{}`, VWireStructNStruct{} },
+	{ false, `Zero`, `VWireStructNStruct{}`, VWireStructNStruct{}, `VWireStructNIface{}`, VWireStructNIface{} },
+	{ false, `Zero`, `VWireStructNStruct{}`, VWireStructNStruct{}, `VWireStructNString{}`, VWireStructNString{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNStruct{X: "Φ王普澤"}`,
+	  VWireStructNStruct{X: "Φ王普澤"},
+	  `VWireStructNStruct{X: "Φ王普澤"}`,
+	  VWireStructNStruct{X: "Φ王普澤"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNStruct{X: "Φ王普澤"}`,
+	  VWireStructNStruct{X: "Φ王普澤"},
+	  `VWireStructNPointer{X: "Φ王普澤"}`,
+	  VWireStructNPointer{X: "Φ王普澤"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNArray{}`, VWireStructNArray{}, `VWireStructNArray{}`, VWireStructNArray{} },
+	{ false, `Zero`, `VWireStructNArray{}`, VWireStructNArray{}, `VWireStructNIface{}`, VWireStructNIface{} },
+	{ false, `Zero`, `VWireStructNArray{}`, VWireStructNArray{}, `VWireStructNPointer{}`, VWireStructNPointer{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNArray{X: "abcdeΔ"}`,
+	  VWireStructNArray{X: "abcdeΔ"},
+	  `VWireStructNArray{X: "abcdeΔ"}`,
+	  VWireStructNArray{X: "abcdeΔ"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNArray{X: "abcdeΔ"}`,
+	  VWireStructNArray{X: "abcdeΔ"},
+	  `VWireStructNStruct{X: "abcdeΔ"}`,
+	  VWireStructNStruct{X: "abcdeΔ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNSlice{}`, VWireStructNSlice{}, `VWireStructNSlice{}`, VWireStructNSlice{} },
+	{ false, `Zero`, `VWireStructNSlice{}`, VWireStructNSlice{}, `VWireStructNString{}`, VWireStructNString{} },
+	{ false, `Zero`, `VWireStructNSlice{}`, VWireStructNSlice{}, `VWireStructNArray{}`, VWireStructNArray{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNSlice{X: "ΣΦ王普"}`,
+	  VWireStructNSlice{X: "ΣΦ王普"},
+	  `VWireStructNSlice{X: "ΣΦ王普"}`,
+	  VWireStructNSlice{X: "ΣΦ王普"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNSlice{X: "ΣΦ王普"}`,
+	  VWireStructNSlice{X: "ΣΦ王普"},
+	  `VWireStructNStruct{X: "ΣΦ王普"}`,
+	  VWireStructNStruct{X: "ΣΦ王普"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNPointer{}`, VWireStructNPointer{}, `VWireStructNPointer{}`, VWireStructNPointer{} },
+	{ false, `Zero`, `VWireStructNPointer{}`, VWireStructNPointer{}, `VWireStructNStruct{}`, VWireStructNStruct{} },
+	{ false, `Zero`, `VWireStructNPointer{}`, VWireStructNPointer{}, `VWireStructNIface{}`, VWireStructNIface{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNPointer{X: "世"}`,
+	  VWireStructNPointer{X: "世"},
+	  `VWireStructNPointer{X: "世"}`,
+	  VWireStructNPointer{X: "世"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNPointer{X: "世"}`,
+	  VWireStructNPointer{X: "世"},
+	  `VWireStructNArray{X: "世"}`,
+	  VWireStructNArray{X: "世"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireStructNIface{}`, VWireStructNIface{}, `VWireStructNIface{}`, VWireStructNIface{} },
+	{ false, `Zero`, `VWireStructNIface{}`, VWireStructNIface{}, `VWireStructNPointer{}`, VWireStructNPointer{} },
+	{ false, `Zero`, `VWireStructNIface{}`, VWireStructNIface{}, `?VStructEmpty{}`, ?VStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireStructNIface{X: "cde"}`,
+	  VWireStructNIface{X: "cde"},
+	  `VWireStructNIface{X: "cde"}`,
+	  VWireStructNIface{X: "cde"},
+	},
+	{ false, `Random0`,
+	  `VWireStructNIface{X: "cde"}`,
+	  VWireStructNIface{X: "cde"},
+	  `VWireStructNStruct{X: "cde"}`,
+	  VWireStructNStruct{X: "cde"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireUnionNString{X: ""}`, VWireUnionNString{X: ""}, `VWireUnionNString{X: ""}`, VWireUnionNString{X: ""} },
+	{ false, `Zero`, `VWireUnionNString{X: ""}`, VWireUnionNString{X: ""}, `VWireUnionNArray{X: ""}`, VWireUnionNArray{X: ""} },
+	{ false, `Zero`, `VWireUnionNString{X: ""}`, VWireUnionNString{X: ""}, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireUnionNString{X: "abcdeΔ"}`,
+	  VWireUnionNString{X: "abcdeΔ"},
+	  `VWireUnionNString{X: "abcdeΔ"}`,
+	  VWireUnionNString{X: "abcdeΔ"},
+	},
+	{ false, `Random0`,
+	  `VWireUnionNString{X: "abcdeΔ"}`,
+	  VWireUnionNString{X: "abcdeΔ"},
+	  `VWireUnionNIface{X: "abcdeΔ"}`,
+	  VWireUnionNIface{X: "abcdeΔ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireUnionNStruct{X: ""}`, VWireUnionNStruct{X: ""}, `VWireUnionNStruct{X: ""}`, VWireUnionNStruct{X: ""} },
+	{ false, `Zero`, `VWireUnionNStruct{X: ""}`, VWireUnionNStruct{X: ""}, `VWireUnionNString{X: ""}`, VWireUnionNString{X: ""} },
+	{ false, `Zero`, `VWireUnionNStruct{X: ""}`, VWireUnionNStruct{X: ""}, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireUnionNStruct{X: "ΘΠΣ"}`,
+	  VWireUnionNStruct{X: "ΘΠΣ"},
+	  `VWireUnionNStruct{X: "ΘΠΣ"}`,
+	  VWireUnionNStruct{X: "ΘΠΣ"},
+	},
+	{ false, `Random0`,
+	  `VWireUnionNStruct{X: "ΘΠΣ"}`,
+	  VWireUnionNStruct{X: "ΘΠΣ"},
+	  `VWireUnionNIface{X: "ΘΠΣ"}`,
+	  VWireUnionNIface{X: "ΘΠΣ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireUnionNArray{X: ""}`, VWireUnionNArray{X: ""}, `VWireUnionNArray{X: ""}`, VWireUnionNArray{X: ""} },
+	{ false, `Zero`, `VWireUnionNArray{X: ""}`, VWireUnionNArray{X: ""}, `VWireUnionNPointer{X: ""}`, VWireUnionNPointer{X: ""} },
+	{ false, `Zero`, `VWireUnionNArray{X: ""}`, VWireUnionNArray{X: ""}, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireUnionNArray{X: "cdeΔ"}`,
+	  VWireUnionNArray{X: "cdeΔ"},
+	  `VWireUnionNArray{X: "cdeΔ"}`,
+	  VWireUnionNArray{X: "cdeΔ"},
+	},
+	{ false, `Random0`,
+	  `VWireUnionNArray{X: "cdeΔ"}`,
+	  VWireUnionNArray{X: "cdeΔ"},
+	  `VWireUnionNPointer{X: "cdeΔ"}`,
+	  VWireUnionNPointer{X: "cdeΔ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""}, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""} },
+	{ false, `Zero`, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""}, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""} },
+	{ false, `Zero`, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""}, `VWireUnionNPointer{X: ""}`, VWireUnionNPointer{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`, `VWireUnionNSlice{X: "c"}`, VWireUnionNSlice{X: "c"}, `VWireUnionNSlice{X: "c"}`, VWireUnionNSlice{X: "c"} },
+	{ false, `Random0`, `VWireUnionNSlice{X: "c"}`, VWireUnionNSlice{X: "c"}, `VWireUnionNIface{X: "c"}`, VWireUnionNIface{X: "c"} },
+	// Canonical
+	{ true, `Zero`,
+	  `VWireUnionNPointer{X: ""}`,
+	  VWireUnionNPointer{X: ""},
+	  `VWireUnionNPointer{X: ""}`,
+	  VWireUnionNPointer{X: ""},
+	},
+	{ false, `Zero`, `VWireUnionNPointer{X: ""}`, VWireUnionNPointer{X: ""}, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""} },
+	{ false, `Zero`, `VWireUnionNPointer{X: ""}`, VWireUnionNPointer{X: ""}, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireUnionNPointer{X: "ΣΦ王"}`,
+	  VWireUnionNPointer{X: "ΣΦ王"},
+	  `VWireUnionNPointer{X: "ΣΦ王"}`,
+	  VWireUnionNPointer{X: "ΣΦ王"},
+	},
+	{ false, `Random0`,
+	  `VWireUnionNPointer{X: "ΣΦ王"}`,
+	  VWireUnionNPointer{X: "ΣΦ王"},
+	  `VWireUnionNIface{X: "ΣΦ王"}`,
+	  VWireUnionNIface{X: "ΣΦ王"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""}, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""} },
+	{ false, `Zero`, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""}, `VWireUnionNSlice{X: ""}`, VWireUnionNSlice{X: ""} },
+	{ false, `Zero`, `VWireUnionNIface{X: ""}`, VWireUnionNIface{X: ""}, `VWireUnionNStruct{X: ""}`, VWireUnionNStruct{X: ""} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	{ false, `Full`,
+	  `VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	  `VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+	  VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireUnionNIface{X: "deΔΘΠΣ"}`,
+	  VWireUnionNIface{X: "deΔΘΠΣ"},
+	  `VWireUnionNIface{X: "deΔΘΠΣ"}`,
+	  VWireUnionNIface{X: "deΔΘΠΣ"},
+	},
+	{ false, `Random0`,
+	  `VWireUnionNIface{X: "deΔΘΠΣ"}`,
+	  VWireUnionNIface{X: "deΔΘΠΣ"},
+	  `VWireUnionNStruct{X: "deΔΘΠΣ"}`,
+	  VWireUnionNStruct{X: "deΔΘΠΣ"},
+	},
+	// Canonical
+	{ true, `Zero`, `VWireAll{}`, VWireAll{}, `VWireAll{}`, VWireAll{} },
+	{ false, `Zero`, `VWireAll{}`, VWireAll{}, `?VStructEmpty{}`, ?VStructEmpty{} },
+	{ false, `Zero`, `VWireAll{}`, VWireAll{}, `VStructEmpty{}`, VStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}}`,
+	  VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}},
+	  `VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}}`,
+	  VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: "abcdeΔ", StringNStruct: "ΔΘΠΣΦ王", ArrayNString: {"abcdeΔΘΠ"}, ArrayNStruct: {"普澤世"}, ListNStruct: {"deΔΘ", ""}, StructNString: {X: "ΔΘΠΣΦ王普澤"}, StructNStruct: {X: "cdeΔΘ"}, StructNArray: {X: "bcde"}, StructNIface: {X: "澤世界"}, UnionNString: {X: "cdeΔΘΠΣΦ"}, UnionNPointer: {X: "bc"}}`,
+	  VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: "abcdeΔ", StringNStruct: "ΔΘΠΣΦ王", ArrayNString: {"abcdeΔΘΠ"}, ArrayNStruct: {"普澤世"}, ListNStruct: {"deΔΘ", ""}, StructNString: {X: "ΔΘΠΣΦ王普澤"}, StructNStruct: {X: "cdeΔΘ"}, StructNArray: {X: "bcde"}, StructNIface: {X: "澤世界"}, UnionNString: {X: "cdeΔΘΠΣΦ"}, UnionNPointer: {X: "bc"}},
+	  `VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: "abcdeΔ", StringNStruct: "ΔΘΠΣΦ王", ArrayNString: {"abcdeΔΘΠ"}, ArrayNStruct: {"普澤世"}, ListNStruct: {"deΔΘ", ""}, StructNString: {X: "ΔΘΠΣΦ王普澤"}, StructNStruct: {X: "cdeΔΘ"}, StructNArray: {X: "bcde"}, StructNIface: {X: "澤世界"}, UnionNString: {X: "cdeΔΘΠΣΦ"}, UnionNPointer: {X: "bc"}}`,
+	  VWireAll{BoolNString: true, IntNInt: -255070853, IntNString: 535047732, IntNStruct: 492803907, StringNString: "abcdeΔ", StringNStruct: "ΔΘΠΣΦ王", ArrayNString: {"abcdeΔΘΠ"}, ArrayNStruct: {"普澤世"}, ListNStruct: {"deΔΘ", ""}, StructNString: {X: "ΔΘΠΣΦ王普澤"}, StructNStruct: {X: "cdeΔΘ"}, StructNArray: {X: "bcde"}, StructNIface: {X: "澤世界"}, UnionNString: {X: "cdeΔΘΠΣΦ"}, UnionNPointer: {X: "bc"}},
+	},
 }
diff --git a/vdl/vdltest/vtype_manual.vdl b/vdl/vdltest/vtype_manual.vdl
new file mode 100644
index 0000000..335e6d7
--- /dev/null
+++ b/vdl/vdltest/vtype_manual.vdl
@@ -0,0 +1,111 @@
+// Copyright 2016 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.
+
+package vdltest
+
+// TODO(toddw): Add tests for longer cyclic chains, consult old vom tests for
+//              regression scenarios.
+// TODO(toddw): Add multi-step wire types, e.g.
+//                NativeA <-> WireA
+//                NativeB <-> WireB
+//                type WireB struct {  <-vdl   go-> type WireB struct {
+//                  A WireA                           A NativeA
+//                }                                 }
+
+// FOR EACH TYPE ADDED OR UPDATED, CONSIDER ALSO UPDATING xtype_manual.vdl
+//
+// While the types in vtype_gen.vdl are automatically generated, the types in
+// this file are created by-hand, to handle special cases.
+
+// VSelfCycle tests self-cyclic types.
+type VSelfCycle struct {
+	Data int64
+	Next ?VSelfCycle
+}
+
+// VMutualCycleA tests mutually cyclic types A and B.
+type VMutualCycleA struct {
+	Data int64
+	B ?VMutualCycleB
+}
+
+// VMutualCycleB tests mutually cyclic types A and B.
+type VMutualCycleB struct {
+	Data int64
+	A ?VMutualCycleA
+}
+
+// The VWire* types are the wire types associated with native types.  The native
+// types are defined in vtype_native.go.
+//
+// The naming is such that VWire* <-> VNativeWire*, e.g.  VWireBoolNString is
+// the wire type associated with the VNativeWireBoolNString native type, where
+// the wire type is bool, and the native type is string.
+type (
+	VWireBoolNBool   bool
+	VWireBoolNString bool
+	VWireBoolNStruct bool
+
+	VWireIntNInt    int32
+	VWireIntNString int32
+	VWireIntNStruct int32
+
+	VWireStringNString string
+	VWireStringNStruct string
+
+	VWireArrayNString [1]string
+	VWireArrayNStruct [1]string
+
+	VWireListNString []string
+	VWireListNStruct []string
+
+	VWireStructNString  struct{ X string }
+	VWireStructNStruct  struct{ X string }
+	VWireStructNArray   struct{ X string }
+	VWireStructNSlice   struct{ X string }
+	VWireStructNPointer struct{ X string }
+	VWireStructNIface   struct{ X string }
+
+	VWireUnionNString  union{ X string }
+	VWireUnionNStruct  union{ X string }
+	VWireUnionNArray   union{ X string }
+	VWireUnionNSlice   union{ X string }
+	VWireUnionNPointer union{ X string }
+	VWireUnionNIface   union{ X string }
+)
+
+// VWireAll contains all wire types, which will be represented as native types
+// in the generated code.
+type VWireAll struct {
+	BoolNBool      VWireBoolNBool
+	BoolNString    VWireBoolNString
+	BoolNStruct    VWireBoolNStruct
+
+	IntNInt        VWireIntNInt
+	IntNString     VWireIntNString
+	IntNStruct     VWireIntNStruct
+
+	StringNString  VWireStringNString
+	StringNStruct  VWireStringNStruct
+
+	ArrayNString   VWireArrayNString
+	ArrayNStruct   VWireArrayNStruct
+
+	ListNString    VWireListNString
+	ListNStruct    VWireListNStruct
+
+	StructNString  VWireStructNString
+	StructNStruct  VWireStructNStruct
+	StructNArray   VWireStructNArray
+	StructNSlice   VWireStructNSlice
+	StructNPointer VWireStructNPointer
+	StructNIface   VWireStructNIface
+
+	UnionNString   VWireUnionNString
+	UnionNStruct   VWireUnionNStruct
+	UnionNArray    VWireUnionNArray
+	UnionNSlice    VWireUnionNSlice
+	UnionNPointer  VWireUnionNPointer
+	UnionNIface    VWireUnionNIface
+}
diff --git a/vdl/vdltest/vtype_native.go b/vdl/vdltest/vtype_native.go
new file mode 100644
index 0000000..191ea71
--- /dev/null
+++ b/vdl/vdltest/vtype_native.go
@@ -0,0 +1,313 @@
+// Copyright 2016 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.
+
+package vdltest
+
+import (
+	"strconv"
+	"strings"
+)
+
+// The VNativeWire* types are the native types associated with wire types.  The
+// wire types are defined in vtype_manual.vdl.
+//
+// The naming is such that VWire* <-> VNativeWire*, e.g.  VWireBoolNString is
+// the wire type associated with the VNativeWireBoolNString native type, where
+// the wire type is bool, and the native type is string.
+type (
+	VNativeWireBoolNBool   bool
+	VNativeWireBoolNString string
+	VNativeWireBoolNStruct struct{ X string }
+
+	VNativeWireIntNInt    int
+	VNativeWireIntNString string
+	VNativeWireIntNStruct struct{ X string }
+
+	VNativeWireStringNString string
+	VNativeWireStringNStruct struct{ X string }
+
+	VNativeWireArrayNString string
+	VNativeWireArrayNStruct struct{ X string }
+
+	VNativeWireListNString string
+	VNativeWireListNStruct struct{ X string }
+
+	VNativeWireStructNString string
+	VNativeWireStructNStruct struct{ X string }
+	VNativeWireStructNArray  [1]string
+	VNativeWireStructNSlice  []string
+	// TODO(toddw): Add tests for native pointer and interface.
+	//   VNativeWireStructNPointer *string
+	//   VNativeWireStructNIface   interface {
+	//   	Value() string
+	//   }
+
+	VNativeWireUnionNString string
+	VNativeWireUnionNStruct struct{ X string }
+	VNativeWireUnionNArray  [1]string
+	VNativeWireUnionNSlice  []string
+	// TODO(toddw): Add tests for native pointer and interface.
+	//   VNativeWireUnionNPointer *string
+	//   VNativeWireUnionNIface   interface {
+	//   	Value() string
+	//   }
+)
+
+// VWireBoolN{Bool,String,Struct}
+
+func VWireBoolNBoolToNative(wire VWireBoolNBool, native *VNativeWireBoolNBool) error {
+	*native = VNativeWireBoolNBool(wire)
+	return nil
+}
+func VWireBoolNBoolFromNative(wire *VWireBoolNBool, native VNativeWireBoolNBool) error {
+	*wire = VWireBoolNBool(native)
+	return nil
+}
+func VWireBoolNStringToNative(wire VWireBoolNString, native *VNativeWireBoolNString) error {
+	*native = VNativeWireBoolNString(strconv.FormatBool(bool(wire)))
+	return nil
+}
+func VWireBoolNStringFromNative(wire *VWireBoolNString, native VNativeWireBoolNString) error {
+	*wire = native != ""
+	return nil
+}
+func VWireBoolNStructToNative(wire VWireBoolNStruct, native *VNativeWireBoolNStruct) error {
+	native.X = strconv.FormatBool(bool(wire))
+	return nil
+}
+func VWireBoolNStructFromNative(wire *VWireBoolNStruct, native VNativeWireBoolNStruct) error {
+	*wire = native.X != ""
+	return nil
+}
+
+// VWireIntN{Int,String,Struct}
+
+func VWireIntNIntToNative(wire VWireIntNInt, native *VNativeWireIntNInt) error {
+	*native = VNativeWireIntNInt(wire)
+	return nil
+}
+func VWireIntNIntFromNative(wire *VWireIntNInt, native VNativeWireIntNInt) error {
+	*wire = VWireIntNInt(native)
+	return nil
+}
+func VWireIntNStringToNative(wire VWireIntNString, native *VNativeWireIntNString) error {
+	*native = VNativeWireIntNString(strconv.Itoa(int(wire)))
+	return nil
+}
+func VWireIntNStringFromNative(wire *VWireIntNString, native VNativeWireIntNString) error {
+	x, err := strconv.Atoi(string(native))
+	if err != nil {
+		x = 0 // Ignore errors for this test type.
+	}
+	*wire = VWireIntNString(x)
+	return nil
+}
+func VWireIntNStructToNative(wire VWireIntNStruct, native *VNativeWireIntNStruct) error {
+	native.X = strconv.Itoa(int(wire))
+	return nil
+}
+func VWireIntNStructFromNative(wire *VWireIntNStruct, native VNativeWireIntNStruct) error {
+	x, err := strconv.Atoi(native.X)
+	if err != nil {
+		x = 0 // Ignore errors for this test type.
+	}
+	*wire = VWireIntNStruct(x)
+	return nil
+}
+
+// VWireStringN{String,Struct}
+
+func VWireStringNStringToNative(wire VWireStringNString, native *VNativeWireStringNString) error {
+	*native = VNativeWireStringNString(wire)
+	return nil
+}
+func VWireStringNStringFromNative(wire *VWireStringNString, native VNativeWireStringNString) error {
+	*wire = VWireStringNString(native)
+	return nil
+}
+func VWireStringNStructToNative(wire VWireStringNStruct, native *VNativeWireStringNStruct) error {
+	native.X = string(wire)
+	return nil
+}
+func VWireStringNStructFromNative(wire *VWireStringNStruct, native VNativeWireStringNStruct) error {
+	*wire = VWireStringNStruct(native.X)
+	return nil
+}
+
+// VWireArrayN{String,Struct}
+
+func VWireArrayNStringToNative(wire VWireArrayNString, native *VNativeWireArrayNString) error {
+	*native = VNativeWireArrayNString(wire[0])
+	return nil
+}
+func VWireArrayNStringFromNative(wire *VWireArrayNString, native VNativeWireArrayNString) error {
+	wire[0] = string(native)
+	return nil
+}
+func VWireArrayNStructToNative(wire VWireArrayNStruct, native *VNativeWireArrayNStruct) error {
+	native.X = wire[0]
+	return nil
+}
+func VWireArrayNStructFromNative(wire *VWireArrayNStruct, native VNativeWireArrayNStruct) error {
+	wire[0] = native.X
+	return nil
+}
+
+// VWireListN{String,Struct}
+
+func VWireListNStringToNative(wire VWireListNString, native *VNativeWireListNString) error {
+	*native = ""
+	for i, w := range wire {
+		if i > 0 {
+			*native += ","
+		}
+		*native += VNativeWireListNString(w)
+	}
+	return nil
+}
+func VWireListNStringFromNative(wire *VWireListNString, native VNativeWireListNString) error {
+	*wire = nil
+	if native != "" {
+		for _, n := range strings.Split(string(native), ",") {
+			*wire = append(*wire, n)
+		}
+	}
+	return nil
+}
+func VWireListNStructToNative(wire VWireListNStruct, native *VNativeWireListNStruct) error {
+	native.X = ""
+	for i, w := range wire {
+		if i > 0 {
+			native.X += ","
+		}
+		native.X += w
+	}
+	return nil
+}
+func VWireListNStructFromNative(wire *VWireListNStruct, native VNativeWireListNStruct) error {
+	*wire = nil
+	if native.X != "" {
+		for _, n := range strings.Split(native.X, ",") {
+			*wire = append(*wire, n)
+		}
+	}
+	return nil
+}
+
+// VWireStructN{String,Struct,Array,Slice,Pointer,Iface}
+
+func VWireStructNStringToNative(wire VWireStructNString, native *VNativeWireStructNString) error {
+	*native = VNativeWireStructNString(wire.X)
+	return nil
+}
+func VWireStructNStringFromNative(wire *VWireStructNString, native VNativeWireStructNString) error {
+	wire.X = string(native)
+	return nil
+}
+func VWireStructNStructToNative(wire VWireStructNStruct, native *VNativeWireStructNStruct) error {
+	native.X = wire.X
+	return nil
+}
+func VWireStructNStructFromNative(wire *VWireStructNStruct, native VNativeWireStructNStruct) error {
+	wire.X = native.X
+	return nil
+}
+func VWireStructNArrayToNative(wire VWireStructNArray, native *VNativeWireStructNArray) error {
+	native[0] = wire.X
+	return nil
+}
+func VWireStructNArrayFromNative(wire *VWireStructNArray, native VNativeWireStructNArray) error {
+	wire.X = native[0]
+	return nil
+}
+func VWireStructNSliceToNative(wire VWireStructNSlice, native *VNativeWireStructNSlice) error {
+	*native = nil
+	if wire.X != "" {
+		for _, w := range strings.Split(wire.X, ",") {
+			*native = append(*native, w)
+		}
+	}
+	return nil
+}
+func VWireStructNSliceFromNative(wire *VWireStructNSlice, native VNativeWireStructNSlice) error {
+	wire.X = ""
+	for i, n := range native {
+		if i > 0 {
+			wire.X += ","
+		}
+		wire.X += n
+	}
+	return nil
+}
+func (x VNativeWireStructNSlice) IsZero() bool {
+	return len(x) == 0
+}
+
+// VWireUnionN{String,Struct,Array,Slice,Pointer,Iface}
+
+func VWireUnionNStringToNative(wire VWireUnionNString, native *VNativeWireUnionNString) error {
+	switch wt := wire.(type) {
+	case VWireUnionNStringX:
+		*native = VNativeWireUnionNString(wt.Value)
+	default:
+		*native = ""
+	}
+	return nil
+}
+func VWireUnionNStringFromNative(wire *VWireUnionNString, native VNativeWireUnionNString) error {
+	*wire = VWireUnionNStringX{Value: string(native)}
+	return nil
+}
+func VWireUnionNStructToNative(wire VWireUnionNStruct, native *VNativeWireUnionNStruct) error {
+	switch wt := wire.(type) {
+	case VWireUnionNStructX:
+		native.X = wt.Value
+	default:
+		native.X = ""
+	}
+	return nil
+}
+func VWireUnionNStructFromNative(wire *VWireUnionNStruct, native VNativeWireUnionNStruct) error {
+	*wire = VWireUnionNStructX{Value: native.X}
+	return nil
+}
+func VWireUnionNArrayToNative(wire VWireUnionNArray, native *VNativeWireUnionNArray) error {
+	switch wt := wire.(type) {
+	case VWireUnionNArrayX:
+		native[0] = wt.Value
+	default:
+		native[0] = ""
+	}
+	return nil
+}
+func VWireUnionNArrayFromNative(wire *VWireUnionNArray, native VNativeWireUnionNArray) error {
+	*wire = VWireUnionNArrayX{Value: native[0]}
+	return nil
+}
+func VWireUnionNSliceToNative(wire VWireUnionNSlice, native *VNativeWireUnionNSlice) error {
+	*native = nil
+	switch wt := wire.(type) {
+	case VWireUnionNSliceX:
+		if wt.Value != "" {
+			for _, w := range strings.Split(wt.Value, ",") {
+				*native = append(*native, w)
+			}
+		}
+	}
+	return nil
+}
+func VWireUnionNSliceFromNative(wire *VWireUnionNSlice, native VNativeWireUnionNSlice) error {
+	x := ""
+	for i, n := range native {
+		if i > 0 {
+			x += ","
+		}
+		x += n
+	}
+	*wire = VWireUnionNSliceX{Value: x}
+	return nil
+}
+func (x VNativeWireUnionNSlice) IsZero() bool {
+	return len(x) == 0
+}
diff --git a/vdl/vdltest/xentry_fail_gen.vdl b/vdl/vdltest/xentry_fail_gen.vdl
index 3fe1bff..5ea9d96 100644
--- a/vdl/vdltest/xentry_fail_gen.vdl
+++ b/vdl/vdltest/xentry_fail_gen.vdl
@@ -9,39 +9,40 @@
 package vdltest
 
 // Entries: 0
-// ------------
-// |          |
-// ------------
-// |total     | [!can=0]
-// |isZero    | [!can=0]
-// ------------
-// |any       |
-// |optional  | [!can=0]
-// |bool      | [!can=0]
-// |byte      | [!can=0]
-// |uint16    | [!can=0]
-// |uint32    | [!can=0]
-// |uint64    | [!can=0]
-// |int8      | [!can=0]
-// |int16     | [!can=0]
-// |int32     | [!can=0]
-// |int64     | [!can=0]
-// |float32   | [!can=0]
-// |float64   | [!can=0]
-// |string    | [!can=0]
-// |enum      | [!can=0]
-// |typeobject|
-// |array     | [!can=0]
-// |list      | [!can=0]
-// |set       | [!can=0]
-// |map       | [!can=0]
-// |struct    | [!can=0]
-// |union     | [!can=0]
-// ------------
-// |IsNamed   | [!can=0]
-// |IsUnnamed | [!can=0]
-// |IsBytes   | [!can=0]
-// ------------
+// ---------------
+// |             |
+// ---------------
+// |total        | [!can=0]
+// |isZero       | [!can=0]
+// ---------------
+// |any          |
+// |optional     | [!can=0]
+// |bool         | [!can=0]
+// |byte         | [!can=0]
+// |uint16       | [!can=0]
+// |uint32       | [!can=0]
+// |uint64       | [!can=0]
+// |int8         | [!can=0]
+// |int16        | [!can=0]
+// |int32        | [!can=0]
+// |int64        | [!can=0]
+// |float32      | [!can=0]
+// |float64      | [!can=0]
+// |string       | [!can=0]
+// |enum         | [!can=0]
+// |typeobject   |
+// |array        | [!can=0]
+// |list         | [!can=0]
+// |set          | [!can=0]
+// |map          | [!can=0]
+// |struct       | [!can=0]
+// |union        | [!can=0]
+// ---------------
+// |IsNamed      | [!can=0]
+// |IsUnnamed    | [!can=0]
+// |IsBytes      | [!can=0]
+// |IsPartOfCycle| [!can=0]
+// ---------------
 // 
 // Each column has a pair of entry counts (canonical,non-canonical), computed
 // from the Source value.  An entry is canonical if Target == Source.
diff --git a/vdl/vdltest/xentry_pass_gen.vdl b/vdl/vdltest/xentry_pass_gen.vdl
index ecc1efd..19e9d27 100644
--- a/vdl/vdltest/xentry_pass_gen.vdl
+++ b/vdl/vdltest/xentry_pass_gen.vdl
@@ -8,40 +8,41 @@
 
 package vdltest
 
-// Entries: 1999
-// ----------------------------------------------------------------------------------
-// |          | Total  |+Max |+Min |-Max|-Min| Full  |NilAny|Random | Zero  |isZero |
-// ----------------------------------------------------------------------------------
-// |total     |822,1177|10,57|10,92|6,22|6,32|289,277|  0, 7|210,194|291,496|291,342| [!can max=11]
-// |isZero    |291, 342| 0, 0| 0, 0|0, 0|0, 0|  0,  2|  0, 7|  0,  2|291,331|291,342| [!can max=3]
-// ----------------------------------------------------------------------------------
-// |any       |  0,   7| 0, 0| 0, 0|0, 0|0, 0|  0,  0|  0, 7|  0,  0|  0,  0|  0,  7| [nil=7]
-// |optional  | 18,  61| 0, 0| 0, 0|0, 0|0, 0|  7,  4|  0, 0|  4,  4|  7, 53|  7,  9| [!can max=3] [nil=16]
-// |bool      |  2,   2| 0, 0| 0, 0|0, 0|0, 0|  1,  1|  0, 0|  0,  0|  1,  1|  1,  1| [!can max=1]
-// |byte      |  5,  11| 1, 1| 1, 9|0, 0|0, 0|  1,  0|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=11]
-// |uint16    |  5,  17| 1, 6| 1, 9|0, 0|0, 0|  1,  1|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=11]
-// |uint32    |  5,  17| 1, 6| 1, 8|0, 0|0, 0|  1,  0|  0, 0|  1,  0|  1,  3|  1,  3| [!can max=11]
-// |uint64    |  5,  24| 1,13| 1, 8|0, 0|0, 0|  1,  0|  0, 0|  1,  1|  1,  2|  1,  2| [!can max=11]
-// |int8      |  7,  16| 1, 0| 1, 7|1, 0|1, 4|  1,  2|  0, 0|  1,  0|  1,  3|  1,  3| [!can max=11]
-// |int16     |  7,  22| 1, 2| 1, 8|1, 2|1, 4|  1,  1|  0, 0|  1,  0|  1,  5|  1,  5| [!can max=11]
-// |int32     |  7,  21| 1, 4| 1, 8|1, 3|1, 5|  1,  0|  0, 0|  1,  1|  1,  0|  1,  0| [!can max=11]
-// |int64     |  7,  35| 1, 9| 1, 9|1, 6|1, 5|  1,  0|  0, 0|  1,  4|  1,  2|  1,  2| [!can max=11]
-// |float32   |  7,  33| 1, 7| 1,10|1, 4|1, 7|  1,  4|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=3]
-// |float64   |  7,  47| 1, 9| 1,16|1, 7|1, 7|  1,  2|  0, 0|  1,  4|  1,  2|  1,  2| [!can max=2]
-// |string    |  3,  14| 0, 0| 0, 0|0, 0|0, 0|  1,  9|  0, 0|  1,  1|  1,  4|  1,  1| [!can max=1]
-// |enum      |  6,   4| 0, 0| 0, 0|0, 0|0, 0|  4,  3|  0, 0|  0,  0|  2,  1|  2,  1| [!can max=3]
-// |typeobject|  0,   0| 0, 0| 0, 0|0, 0|0, 0|  0,  0|  0, 0|  0,  0|  0,  0|  0,  0|
-// |array     | 88,  19| 0, 0| 0, 0|0, 0|0, 0| 31,  6|  0, 0| 25,  8| 32,  5| 32,  2| [!can max=2] [len min=1 max=3]
-// |list      |147, 304| 0, 0| 0, 0|0, 0|0, 0| 56, 81|  0, 0| 35, 52| 56,171| 56,112| [!can max=2] [len max=3]
-// |set       | 83,  93| 0, 0| 0, 0|0, 0|0, 0| 32, 26|  0, 0| 19, 15| 32, 52| 32, 52| [!can max=2] [len max=3]
-// |map       | 91,  92| 0, 0| 0, 0|0, 0|0, 0| 34, 24|  0, 0| 23, 14| 34, 54| 34, 54| [!can max=2] [len max=3]
-// |struct    |163, 175| 0, 0| 0, 0|0, 0|0, 0| 57, 57|  0, 0| 47, 44| 59, 74| 59, 75| [!can max=2]
-// |union     |159, 163| 0, 0| 0, 0|0, 0|0, 0| 56, 56|  0, 0| 46, 46| 57, 61| 57,  8| [!can max=2]
-// ----------------------------------------------------------------------------------
-// |IsNamed   |668, 765|10,39|10,73|6,12|6,21|230,194|  0, 0|174,137|232,289|232,196| [!can max=11]
-// |IsUnnamed |154, 412| 0,18| 0,19|0,10|0,11| 59, 83|  0, 7| 36, 57| 59,207| 59,146| [!can max=3]
-// |IsBytes   | 15,  16| 0, 0| 0, 0|0, 0|0, 0|  5,  5|  0, 0|  5,  1|  5, 10|  5,  8| [!can max=2]
-// ----------------------------------------------------------------------------------
+// Entries: 2014
+// -------------------------------------------------------------------------------------
+// |             | Total  |+Max |+Min |-Max|-Min| Full  |NilAny|Random | Zero  |isZero |
+// -------------------------------------------------------------------------------------
+// |total        |831,1183|10,57|10,92|6,22|6,32|292,277|  0, 7|213,194|294,502|294,347| [!can max=11]
+// |isZero       |294, 347| 0, 0| 0, 0|0, 0|0, 0|  0,  2|  0, 7|  0,  2|294,336|294,347| [!can max=3]
+// -------------------------------------------------------------------------------------
+// |any          |  0,   7| 0, 0| 0, 0|0, 0|0, 0|  0,  0|  0, 7|  0,  0|  0,  0|  0,  7| [nil=7]
+// |optional     | 18,  62| 0, 0| 0, 0|0, 0|0, 0|  7,  4|  0, 0|  4,  4|  7, 54|  7,  9| [!can max=3] [nil=16]
+// |bool         |  2,   2| 0, 0| 0, 0|0, 0|0, 0|  1,  1|  0, 0|  0,  0|  1,  1|  1,  1| [!can max=1]
+// |byte         |  5,  11| 1, 1| 1, 9|0, 0|0, 0|  1,  0|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=11]
+// |uint16       |  5,  17| 1, 6| 1, 9|0, 0|0, 0|  1,  1|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=11]
+// |uint32       |  5,  17| 1, 6| 1, 8|0, 0|0, 0|  1,  0|  0, 0|  1,  0|  1,  3|  1,  3| [!can max=11]
+// |uint64       |  5,  24| 1,13| 1, 8|0, 0|0, 0|  1,  0|  0, 0|  1,  1|  1,  2|  1,  2| [!can max=11]
+// |int8         |  7,  16| 1, 0| 1, 7|1, 0|1, 4|  1,  2|  0, 0|  1,  0|  1,  3|  1,  3| [!can max=11]
+// |int16        |  7,  22| 1, 2| 1, 8|1, 2|1, 4|  1,  1|  0, 0|  1,  0|  1,  5|  1,  5| [!can max=11]
+// |int32        |  7,  21| 1, 4| 1, 8|1, 3|1, 5|  1,  0|  0, 0|  1,  1|  1,  0|  1,  0| [!can max=11]
+// |int64        |  7,  35| 1, 9| 1, 9|1, 6|1, 5|  1,  0|  0, 0|  1,  4|  1,  2|  1,  2| [!can max=11]
+// |float32      |  7,  33| 1, 7| 1,10|1, 4|1, 7|  1,  4|  0, 0|  1,  0|  1,  1|  1,  1| [!can max=3]
+// |float64      |  7,  47| 1, 9| 1,16|1, 7|1, 7|  1,  2|  0, 0|  1,  4|  1,  2|  1,  2| [!can max=2]
+// |string       |  3,  14| 0, 0| 0, 0|0, 0|0, 0|  1,  9|  0, 0|  1,  1|  1,  4|  1,  1| [!can max=1]
+// |enum         |  6,   4| 0, 0| 0, 0|0, 0|0, 0|  4,  3|  0, 0|  0,  0|  2,  1|  2,  1| [!can max=3]
+// |typeobject   |  0,   0| 0, 0| 0, 0|0, 0|0, 0|  0,  0|  0, 0|  0,  0|  0,  0|  0,  0|
+// |array        | 88,  19| 0, 0| 0, 0|0, 0|0, 0| 31,  6|  0, 0| 25,  8| 32,  5| 32,  2| [!can max=2] [len min=1 max=3]
+// |list         |147, 304| 0, 0| 0, 0|0, 0|0, 0| 56, 81|  0, 0| 35, 52| 56,171| 56,112| [!can max=2] [len max=3]
+// |set          | 83,  93| 0, 0| 0, 0|0, 0|0, 0| 32, 26|  0, 0| 19, 15| 32, 52| 32, 52| [!can max=2] [len max=3]
+// |map          | 91,  92| 0, 0| 0, 0|0, 0|0, 0| 34, 24|  0, 0| 23, 14| 34, 54| 34, 54| [!can max=2] [len max=3]
+// |struct       |172, 180| 0, 0| 0, 0|0, 0|0, 0| 60, 57|  0, 0| 50, 44| 62, 79| 62, 80| [!can max=2]
+// |union        |159, 163| 0, 0| 0, 0|0, 0|0, 0| 56, 56|  0, 0| 46, 46| 57, 61| 57,  8| [!can max=2]
+// -------------------------------------------------------------------------------------
+// |IsNamed      |677, 770|10,39|10,73|6,12|6,21|233,194|  0, 0|177,137|235,294|235,201| [!can max=11]
+// |IsUnnamed    |154, 413| 0,18| 0,19|0,10|0,11| 59, 83|  0, 7| 36, 57| 59,208| 59,146| [!can max=3]
+// |IsBytes      | 15,  16| 0, 0| 0, 0|0, 0|0, 0|  5,  5|  0, 0|  5,  1|  5, 10|  5,  8| [!can max=2]
+// |IsPartOfCycle|  9,   2| 0, 0| 0, 0|0, 0|0, 0|  3,  0|  0, 0|  3,  0|  3,  2|  3,  2| [!can max=2]
+// -------------------------------------------------------------------------------------
 // 
 // Each column has a pair of entry counts (canonical,non-canonical), computed
 // from the Source value.  An entry is canonical if Target == Source.
@@ -8466,4 +8467,53 @@
 	  `XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}`,
 	  XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}},
 	},
+	// Canonical
+	{ true, `Zero`, `XSelfCycle{}`, XSelfCycle{}, `XSelfCycle{}`, XSelfCycle{} },
+	{ false, `Zero`, `XSelfCycle{}`, XSelfCycle{}, `XMutualCycleB{}`, XMutualCycleB{} },
+	{ false, `Zero`, `XSelfCycle{}`, XSelfCycle{}, `XStructEmpty{}`, XStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+	  XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+	  `XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+	  XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}}`,
+	  XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}},
+	  `XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}}`,
+	  XSelfCycle{Next: {Data: 2253179390369614770, Next: {}}},
+	},
+	// Canonical
+	{ true, `Zero`, `XMutualCycleB{}`, XMutualCycleB{}, `XMutualCycleB{}`, XMutualCycleB{} },
+	{ false, `Zero`, `XMutualCycleB{}`, XMutualCycleB{}, `?XStructEmpty{}`, ?XStructEmpty{} },
+	{ false, `Zero`, `XMutualCycleB{}`, XMutualCycleB{}, `XStructEmpty{}`, XStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+	  XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+	  `XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+	  XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`, `XMutualCycleB{A: {}}`, XMutualCycleB{A: {}}, `XMutualCycleB{A: {}}`, XMutualCycleB{A: {}} },
+	// Canonical
+	{ true, `Zero`, `XMutualCycleA{}`, XMutualCycleA{}, `XMutualCycleA{}`, XMutualCycleA{} },
+	{ false, `Zero`, `XMutualCycleA{}`, XMutualCycleA{}, `XSelfCycle{}`, XSelfCycle{} },
+	{ false, `Zero`, `XMutualCycleA{}`, XMutualCycleA{}, `XStructEmpty{}`, XStructEmpty{} },
+	// Canonical
+	{ true, `Full`,
+	  `XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+	  XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+	  `XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+	  XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+	},
+	// Canonical
+	{ true, `Random0`,
+	  `XMutualCycleA{Data: -1006823554338124716, B: {}}`,
+	  XMutualCycleA{Data: -1006823554338124716, B: {}},
+	  `XMutualCycleA{Data: -1006823554338124716, B: {}}`,
+	  XMutualCycleA{Data: -1006823554338124716, B: {}},
+	},
 }
diff --git a/vdl/vdltest/xtype_manual.vdl b/vdl/vdltest/xtype_manual.vdl
new file mode 100644
index 0000000..e5aee9e
--- /dev/null
+++ b/vdl/vdltest/xtype_manual.vdl
@@ -0,0 +1,28 @@
+// Copyright 2016 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.
+
+package vdltest
+
+// FOR EACH TYPE ADDED OR UPDATED, CONSIDER ALSO UPDATING vtype_manual.vdl
+//
+// While the types in xtype_gen.vdl are automatically generated, the types in
+// this file are created by-hand, to handle special cases.
+
+// XSelfCycle tests self-cyclic types.
+type XSelfCycle struct {
+	Data int64
+	Next ?XSelfCycle
+}
+
+// XMutualCycleA tests mutually cyclic types A and B.
+type XMutualCycleA struct {
+	Data int64
+	B ?XMutualCycleB
+}
+
+// XMutualCycleB tests mutually cyclic types A and B.
+type XMutualCycleB struct {
+	Data int64
+	A ?XMutualCycleA
+}
diff --git a/vdlroot/time/time.vdl.go b/vdlroot/time/time.vdl.go
index cea33c0..4d6ec3f 100644
--- a/vdlroot/time/time.vdl.go
+++ b/vdlroot/time/time.vdl.go
@@ -586,7 +586,7 @@
 	if err := enc.StartValue(vdl.TypeOf((*WireDeadline)(nil)).Elem()); err != nil {
 		return err
 	}
-	if x.FromNow != time.Duration(0) {
+	if x.FromNow != 0 {
 		if err := enc.NextField("FromNow"); err != nil {
 			return err
 		}
diff --git a/vdlroot/vdltool/config.vdl b/vdlroot/vdltool/config.vdl
index b3f68a7..7aedf80 100644
--- a/vdlroot/vdltool/config.vdl
+++ b/vdlroot/vdltool/config.vdl
@@ -62,24 +62,25 @@
 	// Kind is the kind of Type.
 	Kind GoKind
 	// Type is the Go type to use in generated code, instead of the VDL type.
-	//
-	// If the Go type requires additional imports, specify the type using the
-	// standard local package name here, and also specify the import package in
-	// Imports.  E.g. to specify the native type time.Duration:
-	//   Kind:    Number
-	//   Type:    "time.Duration",
-	//   Imports: {{Path: "time", Name: "time"}},
-	//   Zero:    {Mode: Unique}
 	Type string
-	// ToNative and FromNative override the default name for the native conversion
-	// function with a custom function.
-	// e.g. "verror.ErrorToNative"
+	// Zero specifies zero value setting and checking behavior.
+	Zero GoZero
+	// ToNative and FromNative overrides the names of the native conversion
+	// functions.  If unspecified, the default functions are of the form:
+	//   WireTypeToNative(wire WireType, native *NativeType) error
+	//   WireTypeFromNative(wire *WireType, native NativeType) error
 	ToNative string
 	FromNative string
-	// Imports are the Go imports required by the Type, used in generated code.
+	// Imports are the Go imports referenced by the Type, ToNative and FromNative
+	// fields.  In each field, use the standard local package name, and specify
+	// the import package here.  E.g. to specify the native type time.Time:
+	//   GoType{
+	//     Kind:    Struct,
+	//     Type:    "time.Time",
+	//     Zero:    {Mode: Canonical, IsZero: ".IsZero()"},
+	//     Imports: {{Path: "time", Name: "time"}},
+	//   }
 	Imports []GoImport
-	// Zero specifies special behavior for zero value setting and checking.
-	Zero GoZero
 }
 
 // GoKind describes the kind of Go type.
@@ -119,16 +120,13 @@
 	// apply the IsZero string verbatim to expressions of the native type.
 	//
 	// If IsZero doesn't start with a dot(.), it is assumed to be a function whose
-	// return type must be bool.  Generated code will call the function with all
-	// occurrences of XXX replaced with an expression of the native type.
+	// return type must be bool.  Generated code will call the function with a
+	// single argument that is an expression of the native type.
 	//
-	// TODO(toddw): The function form of IsZero isn't implemented, and also needs
-	// another field to handle imports:
-	//    IsZeroImports []GoImport
+	// TODO(toddw): The function form of IsZero isn't implemented.
 	IsZero string
 	// TODO(toddw): Add a SetZero field, which is like IsZero, but returns an
-	// expression that sets the zero value.  It also needs a []GoImport field to
-	// handle imports.
+	// expression that sets the zero value.
 }
 
 // GoZeroMode describes the relationship between the Go zero value of the native
diff --git a/vdlroot/vdltool/vdltool.vdl.go b/vdlroot/vdltool/vdltool.vdl.go
index 214d3c1..5696cc8 100644
--- a/vdlroot/vdltool/vdltool.vdl.go
+++ b/vdlroot/vdltool/vdltool.vdl.go
@@ -310,6 +310,325 @@
 	return dec.FinishValue()
 }
 
+// GoZeroMode describes the relationship between the Go zero value of the native
+// type, and the VDL zero value.
+type GoZeroMode int
+
+const (
+	GoZeroModeUnknown GoZeroMode = iota
+	GoZeroModeCanonical
+	GoZeroModeUnique
+)
+
+// GoZeroModeAll holds all labels for GoZeroMode.
+var GoZeroModeAll = [...]GoZeroMode{GoZeroModeUnknown, GoZeroModeCanonical, GoZeroModeUnique}
+
+// GoZeroModeFromString creates a GoZeroMode from a string label.
+func GoZeroModeFromString(label string) (x GoZeroMode, err error) {
+	err = x.Set(label)
+	return
+}
+
+// Set assigns label to x.
+func (x *GoZeroMode) Set(label string) error {
+	switch label {
+	case "Unknown", "unknown":
+		*x = GoZeroModeUnknown
+		return nil
+	case "Canonical", "canonical":
+		*x = GoZeroModeCanonical
+		return nil
+	case "Unique", "unique":
+		*x = GoZeroModeUnique
+		return nil
+	}
+	*x = -1
+	return fmt.Errorf("unknown label %q in vdltool.GoZeroMode", label)
+}
+
+// String returns the string label of x.
+func (x GoZeroMode) String() string {
+	switch x {
+	case GoZeroModeUnknown:
+		return "Unknown"
+	case GoZeroModeCanonical:
+		return "Canonical"
+	case GoZeroModeUnique:
+		return "Unique"
+	}
+	return ""
+}
+
+func (GoZeroMode) __VDLReflect(struct {
+	Name string `vdl:"vdltool.GoZeroMode"`
+	Enum struct{ Unknown, Canonical, Unique string }
+}) {
+}
+
+func (m *GoZeroMode) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
+	if err := t.FromEnumLabel((*m).String(), tt); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (m *GoZeroMode) MakeVDLTarget() vdl.Target {
+	return nil
+}
+
+type GoZeroModeTarget struct {
+	Value *GoZeroMode
+	vdl.TargetBase
+}
+
+func (t *GoZeroModeTarget) FromEnumLabel(src string, tt *vdl.Type) error {
+
+	if ttWant := vdl.TypeOf((*GoZeroMode)(nil)); !vdl.Compatible(tt, ttWant) {
+		return fmt.Errorf("type %v incompatible with %v", tt, ttWant)
+	}
+	switch src {
+	case "Unknown":
+		*t.Value = 0
+	case "Canonical":
+		*t.Value = 1
+	case "Unique":
+		*t.Value = 2
+	default:
+		return fmt.Errorf("label %s not in enum GoZeroMode", src)
+	}
+
+	return nil
+}
+
+func (x GoZeroMode) VDLIsZero() bool {
+	return x == GoZeroModeUnknown
+}
+
+func (x GoZeroMode) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*GoZeroMode)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.String()); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *GoZeroMode) VDLRead(dec vdl.Decoder) error {
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	enum, err := dec.DecodeString()
+	if err != nil {
+		return err
+	}
+	if err := x.Set(enum); err != nil {
+		return err
+	}
+	return dec.FinishValue()
+}
+
+// GoZero describes Go zero value behavior.
+//
+// REQUIRED: Either Mode == Unique or IsZero is set.  We will not perform
+// native/wire conversions to check zero values.
+type GoZero struct {
+	Mode GoZeroMode
+	// IsZero specifies a field, method or function that returns true iff the
+	// native value represents the VDL zero value.
+	//
+	// If IsZero starts with a dot (.), it is assumed to be a field or method.
+	// The field type or method return type must be bool.  Generated code will
+	// apply the IsZero string verbatim to expressions of the native type.
+	//
+	// If IsZero doesn't start with a dot(.), it is assumed to be a function whose
+	// return type must be bool.  Generated code will call the function with a
+	// single argument that is an expression of the native type.
+	//
+	// TODO(toddw): The function form of IsZero isn't implemented.
+	IsZero string
+}
+
+func (GoZero) __VDLReflect(struct {
+	Name string `vdl:"vdltool.GoZero"`
+}) {
+}
+
+func (m *GoZero) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
+	fieldsTarget1, err := t.StartFields(tt)
+	if err != nil {
+		return err
+	}
+	var4 := (m.Mode == GoZeroModeUnknown)
+	if var4 {
+		if err := fieldsTarget1.ZeroField("Mode"); err != nil && err != vdl.ErrFieldNoExist {
+			return err
+		}
+	} else {
+		keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Mode")
+		if err != vdl.ErrFieldNoExist {
+			if err != nil {
+				return err
+			}
+
+			if err := m.Mode.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(0).Type); err != nil {
+				return err
+			}
+			if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
+				return err
+			}
+		}
+	}
+	var7 := (m.IsZero == "")
+	if var7 {
+		if err := fieldsTarget1.ZeroField("IsZero"); err != nil && err != vdl.ErrFieldNoExist {
+			return err
+		}
+	} else {
+		keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("IsZero")
+		if err != vdl.ErrFieldNoExist {
+			if err != nil {
+				return err
+			}
+			if err := fieldTarget6.FromString(string(m.IsZero), tt.NonOptional().Field(1).Type); err != nil {
+				return err
+			}
+			if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
+				return err
+			}
+		}
+	}
+	if err := t.FinishFields(fieldsTarget1); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (m *GoZero) MakeVDLTarget() vdl.Target {
+	return nil
+}
+
+type GoZeroTarget struct {
+	Value *GoZero
+
+	vdl.TargetBase
+	vdl.FieldsTargetBase
+}
+
+func (t *GoZeroTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
+
+	if ttWant := vdl.TypeOf((*GoZero)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
+		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
+	}
+	return t, nil
+}
+func (t *GoZeroTarget) StartField(name string) (key, field vdl.Target, _ error) {
+	switch name {
+	case "Mode":
+		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Mode))
+		return nil, target, err
+	case "IsZero":
+		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.IsZero))
+		return nil, target, err
+	default:
+		return nil, nil, vdl.ErrFieldNoExist
+	}
+}
+func (t *GoZeroTarget) FinishField(_, _ vdl.Target) error {
+	return nil
+}
+func (t *GoZeroTarget) ZeroField(name string) error {
+	switch name {
+	case "Mode":
+		t.Value.Mode = GoZeroModeUnknown
+		return nil
+	case "IsZero":
+		t.Value.IsZero = ""
+		return nil
+	default:
+		return vdl.ErrFieldNoExist
+	}
+}
+func (t *GoZeroTarget) FinishFields(_ vdl.FieldsTarget) error {
+
+	return nil
+}
+
+func (x GoZero) VDLIsZero() bool {
+	return x == GoZero{}
+}
+
+func (x GoZero) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*GoZero)(nil)).Elem()); err != nil {
+		return err
+	}
+	if x.Mode != GoZeroModeUnknown {
+		if err := enc.NextField("Mode"); err != nil {
+			return err
+		}
+		if err := x.Mode.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if x.IsZero != "" {
+		if err := enc.NextField("IsZero"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.StringType); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.IsZero); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
+func (x *GoZero) VDLRead(dec vdl.Decoder) error {
+	*x = GoZero{}
+	if err := dec.StartValue(); err != nil {
+		return err
+	}
+	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
+		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
+	}
+	for {
+		f, err := dec.NextField()
+		if err != nil {
+			return err
+		}
+		switch f {
+		case "":
+			return dec.FinishValue()
+		case "Mode":
+			if err := x.Mode.VDLRead(dec); err != nil {
+				return err
+			}
+		case "IsZero":
+			if err := dec.StartValue(); err != nil {
+				return err
+			}
+			var err error
+			if x.IsZero, err = dec.DecodeString(); err != nil {
+				return err
+			}
+			if err := dec.FinishValue(); err != nil {
+				return err
+			}
+		default:
+			if err := dec.SkipValue(); err != nil {
+				return err
+			}
+		}
+	}
+}
+
 // GoImport describes Go import information.
 type GoImport struct {
 	// Path is the package path that uniquely identifies the imported package.
@@ -512,351 +831,31 @@
 	}
 }
 
-// GoZeroMode describes the relationship between the Go zero value of the native
-// type, and the VDL zero value.
-type GoZeroMode int
-
-const (
-	GoZeroModeUnknown GoZeroMode = iota
-	GoZeroModeCanonical
-	GoZeroModeUnique
-)
-
-// GoZeroModeAll holds all labels for GoZeroMode.
-var GoZeroModeAll = [...]GoZeroMode{GoZeroModeUnknown, GoZeroModeCanonical, GoZeroModeUnique}
-
-// GoZeroModeFromString creates a GoZeroMode from a string label.
-func GoZeroModeFromString(label string) (x GoZeroMode, err error) {
-	err = x.Set(label)
-	return
-}
-
-// Set assigns label to x.
-func (x *GoZeroMode) Set(label string) error {
-	switch label {
-	case "Unknown", "unknown":
-		*x = GoZeroModeUnknown
-		return nil
-	case "Canonical", "canonical":
-		*x = GoZeroModeCanonical
-		return nil
-	case "Unique", "unique":
-		*x = GoZeroModeUnique
-		return nil
-	}
-	*x = -1
-	return fmt.Errorf("unknown label %q in vdltool.GoZeroMode", label)
-}
-
-// String returns the string label of x.
-func (x GoZeroMode) String() string {
-	switch x {
-	case GoZeroModeUnknown:
-		return "Unknown"
-	case GoZeroModeCanonical:
-		return "Canonical"
-	case GoZeroModeUnique:
-		return "Unique"
-	}
-	return ""
-}
-
-func (GoZeroMode) __VDLReflect(struct {
-	Name string `vdl:"vdltool.GoZeroMode"`
-	Enum struct{ Unknown, Canonical, Unique string }
-}) {
-}
-
-func (m *GoZeroMode) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	if err := t.FromEnumLabel((*m).String(), tt); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (m *GoZeroMode) MakeVDLTarget() vdl.Target {
-	return nil
-}
-
-type GoZeroModeTarget struct {
-	Value *GoZeroMode
-	vdl.TargetBase
-}
-
-func (t *GoZeroModeTarget) FromEnumLabel(src string, tt *vdl.Type) error {
-
-	if ttWant := vdl.TypeOf((*GoZeroMode)(nil)); !vdl.Compatible(tt, ttWant) {
-		return fmt.Errorf("type %v incompatible with %v", tt, ttWant)
-	}
-	switch src {
-	case "Unknown":
-		*t.Value = 0
-	case "Canonical":
-		*t.Value = 1
-	case "Unique":
-		*t.Value = 2
-	default:
-		return fmt.Errorf("label %s not in enum GoZeroMode", src)
-	}
-
-	return nil
-}
-
-func (x GoZeroMode) VDLIsZero() bool {
-	return x == GoZeroModeUnknown
-}
-
-func (x GoZeroMode) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(vdl.TypeOf((*GoZeroMode)(nil))); err != nil {
-		return err
-	}
-	if err := enc.EncodeString(x.String()); err != nil {
-		return err
-	}
-	return enc.FinishValue()
-}
-
-func (x *GoZeroMode) VDLRead(dec vdl.Decoder) error {
-	if err := dec.StartValue(); err != nil {
-		return err
-	}
-	enum, err := dec.DecodeString()
-	if err != nil {
-		return err
-	}
-	if err := x.Set(enum); err != nil {
-		return err
-	}
-	return dec.FinishValue()
-}
-
-// GoZero describes Go zero value behavior.
-//
-// REQUIRED: Either Mode == Unique or IsZero is set.  We will not perform
-// native/wire conversions to check zero values.
-type GoZero struct {
-	Mode GoZeroMode
-	// IsZero specifies a field, method or function that returns true iff the
-	// native value represents the VDL zero value.
-	//
-	// If IsZero starts with a dot (.), it is assumed to be a field or method.
-	// The field type or method return type must be bool.  Generated code will
-	// apply the IsZero string verbatim to expressions of the native type.
-	//
-	// If IsZero doesn't start with a dot(.), it is assumed to be a function whose
-	// return type must be bool.  Generated code will call the function with all
-	// occurrences of XXX replaced with an expression of the native type.
-	//
-	// TODO(toddw): The function form of IsZero isn't implemented, and also needs
-	// another field to handle imports:
-	//    IsZeroImports []GoImport
-	IsZero string
-}
-
-func (GoZero) __VDLReflect(struct {
-	Name string `vdl:"vdltool.GoZero"`
-}) {
-}
-
-func (m *GoZero) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
-	fieldsTarget1, err := t.StartFields(tt)
-	if err != nil {
-		return err
-	}
-	var4 := (m.Mode == GoZeroModeUnknown)
-	if var4 {
-		if err := fieldsTarget1.ZeroField("Mode"); err != nil && err != vdl.ErrFieldNoExist {
-			return err
-		}
-	} else {
-		keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Mode")
-		if err != vdl.ErrFieldNoExist {
-			if err != nil {
-				return err
-			}
-
-			if err := m.Mode.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(0).Type); err != nil {
-				return err
-			}
-			if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
-				return err
-			}
-		}
-	}
-	var7 := (m.IsZero == "")
-	if var7 {
-		if err := fieldsTarget1.ZeroField("IsZero"); err != nil && err != vdl.ErrFieldNoExist {
-			return err
-		}
-	} else {
-		keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("IsZero")
-		if err != vdl.ErrFieldNoExist {
-			if err != nil {
-				return err
-			}
-			if err := fieldTarget6.FromString(string(m.IsZero), tt.NonOptional().Field(1).Type); err != nil {
-				return err
-			}
-			if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
-				return err
-			}
-		}
-	}
-	if err := t.FinishFields(fieldsTarget1); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (m *GoZero) MakeVDLTarget() vdl.Target {
-	return nil
-}
-
-type GoZeroTarget struct {
-	Value *GoZero
-
-	vdl.TargetBase
-	vdl.FieldsTargetBase
-}
-
-func (t *GoZeroTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
-
-	if ttWant := vdl.TypeOf((*GoZero)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
-		return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
-	}
-	return t, nil
-}
-func (t *GoZeroTarget) StartField(name string) (key, field vdl.Target, _ error) {
-	switch name {
-	case "Mode":
-		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Mode))
-		return nil, target, err
-	case "IsZero":
-		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.IsZero))
-		return nil, target, err
-	default:
-		return nil, nil, vdl.ErrFieldNoExist
-	}
-}
-func (t *GoZeroTarget) FinishField(_, _ vdl.Target) error {
-	return nil
-}
-func (t *GoZeroTarget) ZeroField(name string) error {
-	switch name {
-	case "Mode":
-		t.Value.Mode = GoZeroModeUnknown
-		return nil
-	case "IsZero":
-		t.Value.IsZero = ""
-		return nil
-	default:
-		return vdl.ErrFieldNoExist
-	}
-}
-func (t *GoZeroTarget) FinishFields(_ vdl.FieldsTarget) error {
-
-	return nil
-}
-
-func (x GoZero) VDLIsZero() bool {
-	return x == GoZero{}
-}
-
-func (x GoZero) VDLWrite(enc vdl.Encoder) error {
-	if err := enc.StartValue(vdl.TypeOf((*GoZero)(nil)).Elem()); err != nil {
-		return err
-	}
-	if x.Mode != GoZeroModeUnknown {
-		if err := enc.NextField("Mode"); err != nil {
-			return err
-		}
-		if err := x.Mode.VDLWrite(enc); err != nil {
-			return err
-		}
-	}
-	if x.IsZero != "" {
-		if err := enc.NextField("IsZero"); err != nil {
-			return err
-		}
-		if err := enc.StartValue(vdl.StringType); err != nil {
-			return err
-		}
-		if err := enc.EncodeString(x.IsZero); err != nil {
-			return err
-		}
-		if err := enc.FinishValue(); err != nil {
-			return err
-		}
-	}
-	if err := enc.NextField(""); err != nil {
-		return err
-	}
-	return enc.FinishValue()
-}
-
-func (x *GoZero) VDLRead(dec vdl.Decoder) error {
-	*x = GoZero{}
-	if err := dec.StartValue(); err != nil {
-		return err
-	}
-	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
-		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
-	}
-	for {
-		f, err := dec.NextField()
-		if err != nil {
-			return err
-		}
-		switch f {
-		case "":
-			return dec.FinishValue()
-		case "Mode":
-			if err := x.Mode.VDLRead(dec); err != nil {
-				return err
-			}
-		case "IsZero":
-			if err := dec.StartValue(); err != nil {
-				return err
-			}
-			var err error
-			if x.IsZero, err = dec.DecodeString(); err != nil {
-				return err
-			}
-			if err := dec.FinishValue(); err != nil {
-				return err
-			}
-		default:
-			if err := dec.SkipValue(); err != nil {
-				return err
-			}
-		}
-	}
-}
-
 // GoType describes the Go type information associated with a VDL type.
 // See v.io/x/ref/lib/vdl/testdata/native for examples.
 type GoType struct {
 	// Kind is the kind of Type.
 	Kind GoKind
 	// Type is the Go type to use in generated code, instead of the VDL type.
-	//
-	// If the Go type requires additional imports, specify the type using the
-	// standard local package name here, and also specify the import package in
-	// Imports.  E.g. to specify the native type time.Duration:
-	//   Kind:    Number
-	//   Type:    "time.Duration",
-	//   Imports: {{Path: "time", Name: "time"}},
-	//   Zero:    {Mode: Unique}
 	Type string
-	// ToNative and FromNative override the default name for the native conversion
-	// function with a custom function.
-	// e.g. "verror.ErrorToNative"
+	// Zero specifies zero value setting and checking behavior.
+	Zero GoZero
+	// ToNative and FromNative overrides the names of the native conversion
+	// functions.  If unspecified, the default functions are of the form:
+	//   WireTypeToNative(wire WireType, native *NativeType) error
+	//   WireTypeFromNative(wire *WireType, native NativeType) error
 	ToNative   string
 	FromNative string
-	// Imports are the Go imports required by the Type, used in generated code.
+	// Imports are the Go imports referenced by the Type, ToNative and FromNative
+	// fields.  In each field, use the standard local package name, and specify
+	// the import package here.  E.g. to specify the native type time.Time:
+	//   GoType{
+	//     Kind:    Struct,
+	//     Type:    "time.Time",
+	//     Zero:    {Mode: Canonical, IsZero: ".IsZero()"},
+	//     Imports: {{Path: "time", Name: "time"}},
+	//   }
 	Imports []GoImport
-	// Zero specifies special behavior for zero value setting and checking.
-	Zero GoZero
 }
 
 func (GoType) __VDLReflect(struct {
@@ -908,18 +907,19 @@
 			}
 		}
 	}
-	var10 := (m.ToNative == "")
+	var10 := (m.Zero == GoZero{})
 	if var10 {
-		if err := fieldsTarget1.ZeroField("ToNative"); err != nil && err != vdl.ErrFieldNoExist {
+		if err := fieldsTarget1.ZeroField("Zero"); err != nil && err != vdl.ErrFieldNoExist {
 			return err
 		}
 	} else {
-		keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("ToNative")
+		keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("Zero")
 		if err != vdl.ErrFieldNoExist {
 			if err != nil {
 				return err
 			}
-			if err := fieldTarget9.FromString(string(m.ToNative), tt.NonOptional().Field(2).Type); err != nil {
+
+			if err := m.Zero.FillVDLTarget(fieldTarget9, tt.NonOptional().Field(2).Type); err != nil {
 				return err
 			}
 			if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil {
@@ -927,18 +927,18 @@
 			}
 		}
 	}
-	var13 := (m.FromNative == "")
+	var13 := (m.ToNative == "")
 	if var13 {
-		if err := fieldsTarget1.ZeroField("FromNative"); err != nil && err != vdl.ErrFieldNoExist {
+		if err := fieldsTarget1.ZeroField("ToNative"); err != nil && err != vdl.ErrFieldNoExist {
 			return err
 		}
 	} else {
-		keyTarget11, fieldTarget12, err := fieldsTarget1.StartField("FromNative")
+		keyTarget11, fieldTarget12, err := fieldsTarget1.StartField("ToNative")
 		if err != vdl.ErrFieldNoExist {
 			if err != nil {
 				return err
 			}
-			if err := fieldTarget12.FromString(string(m.FromNative), tt.NonOptional().Field(3).Type); err != nil {
+			if err := fieldTarget12.FromString(string(m.ToNative), tt.NonOptional().Field(3).Type); err != nil {
 				return err
 			}
 			if err := fieldsTarget1.FinishField(keyTarget11, fieldTarget12); err != nil {
@@ -946,39 +946,18 @@
 			}
 		}
 	}
-	var var16 bool
-	if len(m.Imports) == 0 {
-		var16 = true
-	}
+	var16 := (m.FromNative == "")
 	if var16 {
-		if err := fieldsTarget1.ZeroField("Imports"); err != nil && err != vdl.ErrFieldNoExist {
+		if err := fieldsTarget1.ZeroField("FromNative"); err != nil && err != vdl.ErrFieldNoExist {
 			return err
 		}
 	} else {
-		keyTarget14, fieldTarget15, err := fieldsTarget1.StartField("Imports")
+		keyTarget14, fieldTarget15, err := fieldsTarget1.StartField("FromNative")
 		if err != vdl.ErrFieldNoExist {
 			if err != nil {
 				return err
 			}
-
-			listTarget17, err := fieldTarget15.StartList(tt.NonOptional().Field(4).Type, len(m.Imports))
-			if err != nil {
-				return err
-			}
-			for i, elem19 := range m.Imports {
-				elemTarget18, err := listTarget17.StartElem(i)
-				if err != nil {
-					return err
-				}
-
-				if err := elem19.FillVDLTarget(elemTarget18, tt.NonOptional().Field(4).Type.Elem()); err != nil {
-					return err
-				}
-				if err := listTarget17.FinishElem(elemTarget18); err != nil {
-					return err
-				}
-			}
-			if err := fieldTarget15.FinishList(listTarget17); err != nil {
+			if err := fieldTarget15.FromString(string(m.FromNative), tt.NonOptional().Field(4).Type); err != nil {
 				return err
 			}
 			if err := fieldsTarget1.FinishField(keyTarget14, fieldTarget15); err != nil {
@@ -986,22 +965,42 @@
 			}
 		}
 	}
-	var22 := (m.Zero == GoZero{})
-	if var22 {
-		if err := fieldsTarget1.ZeroField("Zero"); err != nil && err != vdl.ErrFieldNoExist {
+	var var19 bool
+	if len(m.Imports) == 0 {
+		var19 = true
+	}
+	if var19 {
+		if err := fieldsTarget1.ZeroField("Imports"); err != nil && err != vdl.ErrFieldNoExist {
 			return err
 		}
 	} else {
-		keyTarget20, fieldTarget21, err := fieldsTarget1.StartField("Zero")
+		keyTarget17, fieldTarget18, err := fieldsTarget1.StartField("Imports")
 		if err != vdl.ErrFieldNoExist {
 			if err != nil {
 				return err
 			}
 
-			if err := m.Zero.FillVDLTarget(fieldTarget21, tt.NonOptional().Field(5).Type); err != nil {
+			listTarget20, err := fieldTarget18.StartList(tt.NonOptional().Field(5).Type, len(m.Imports))
+			if err != nil {
 				return err
 			}
-			if err := fieldsTarget1.FinishField(keyTarget20, fieldTarget21); err != nil {
+			for i, elem22 := range m.Imports {
+				elemTarget21, err := listTarget20.StartElem(i)
+				if err != nil {
+					return err
+				}
+
+				if err := elem22.FillVDLTarget(elemTarget21, tt.NonOptional().Field(5).Type.Elem()); err != nil {
+					return err
+				}
+				if err := listTarget20.FinishElem(elemTarget21); err != nil {
+					return err
+				}
+			}
+			if err := fieldTarget18.FinishList(listTarget20); err != nil {
+				return err
+			}
+			if err := fieldsTarget1.FinishField(keyTarget17, fieldTarget18); err != nil {
 				return err
 			}
 		}
@@ -1038,6 +1037,9 @@
 	case "Type":
 		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Type))
 		return nil, target, err
+	case "Zero":
+		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Zero))
+		return nil, target, err
 	case "ToNative":
 		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.ToNative))
 		return nil, target, err
@@ -1047,9 +1049,6 @@
 	case "Imports":
 		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Imports))
 		return nil, target, err
-	case "Zero":
-		target, err := vdl.ReflectTarget(reflect.ValueOf(&t.Value.Zero))
-		return nil, target, err
 	default:
 		return nil, nil, vdl.ErrFieldNoExist
 	}
@@ -1065,6 +1064,9 @@
 	case "Type":
 		t.Value.Type = ""
 		return nil
+	case "Zero":
+		t.Value.Zero = GoZero{}
+		return nil
 	case "ToNative":
 		t.Value.ToNative = ""
 		return nil
@@ -1074,9 +1076,6 @@
 	case "Imports":
 		t.Value.Imports = []GoImport(nil)
 		return nil
-	case "Zero":
-		t.Value.Zero = GoZero{}
-		return nil
 	default:
 		return vdl.ErrFieldNoExist
 	}
@@ -1093,6 +1092,9 @@
 	if x.Type != "" {
 		return false
 	}
+	if x.Zero != (GoZero{}) {
+		return false
+	}
 	if x.ToNative != "" {
 		return false
 	}
@@ -1102,9 +1104,6 @@
 	if len(x.Imports) != 0 {
 		return false
 	}
-	if x.Zero != (GoZero{}) {
-		return false
-	}
 	return true
 }
 
@@ -1134,6 +1133,14 @@
 			return err
 		}
 	}
+	if x.Zero != (GoZero{}) {
+		if err := enc.NextField("Zero"); err != nil {
+			return err
+		}
+		if err := x.Zero.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
 	if x.ToNative != "" {
 		if err := enc.NextField("ToNative"); err != nil {
 			return err
@@ -1170,14 +1177,6 @@
 			return err
 		}
 	}
-	if x.Zero != (GoZero{}) {
-		if err := enc.NextField("Zero"); err != nil {
-			return err
-		}
-		if err := x.Zero.VDLWrite(enc); err != nil {
-			return err
-		}
-	}
 	if err := enc.NextField(""); err != nil {
 		return err
 	}
@@ -1236,6 +1235,10 @@
 			if err := dec.FinishValue(); err != nil {
 				return err
 			}
+		case "Zero":
+			if err := x.Zero.VDLRead(dec); err != nil {
+				return err
+			}
 		case "ToNative":
 			if err := dec.StartValue(); err != nil {
 				return err
@@ -1262,10 +1265,6 @@
 			if err := __VDLReadAnon_list_1(dec, &x.Imports); err != nil {
 				return err
 			}
-		case "Zero":
-			if err := x.Zero.VDLRead(dec); err != nil {
-				return err
-			}
 		default:
 			if err := dec.SkipValue(); err != nil {
 				return err
@@ -2637,9 +2636,9 @@
 	// Register types.
 	vdl.Register((*GenLanguage)(nil))
 	vdl.Register((*GoKind)(nil))
-	vdl.Register((*GoImport)(nil))
 	vdl.Register((*GoZeroMode)(nil))
 	vdl.Register((*GoZero)(nil))
+	vdl.Register((*GoImport)(nil))
 	vdl.Register((*GoType)(nil))
 	vdl.Register((*GoConfig)(nil))
 	vdl.Register((*JavaConfig)(nil))
diff --git a/vom/vomtest/data81_gen.vdl b/vom/vomtest/data81_gen.vdl
index 7829f8b..d49598e 100644
--- a/vom/vomtest/data81_gen.vdl
+++ b/vom/vomtest/data81_gen.vdl
@@ -12,40 +12,41 @@
 	"v.io/v23/vdl/vdltest"
 )
 
-// Entries: 1321
-// -------------------------------------------------------
-// |          |Total|+Max|+Min|-Max|-Min|Full|Zero|isZero|
-// -------------------------------------------------------
-// |total     | 1321|  30|  30|  18|  18| 610| 615|   615| [!can=0]
-// |isZero    |  615|   0|   0|   0|   0|   0| 615|   615| [!can=0]
-// -------------------------------------------------------
-// |any       |    1|   0|   0|   0|   0|   0|   1|     1| [nil=1]
-// |optional  |   30|   0|   0|   0|   0|  15|  15|    15| [!can=0] [nil=15]
-// |bool      |    6|   0|   0|   0|   0|   3|   3|     3| [!can=0]
-// |byte      |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
-// |uint16    |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
-// |uint32    |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
-// |uint64    |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
-// |int8      |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |int16     |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |int32     |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |int64     |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |float32   |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |float64   |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
-// |string    |    6|   0|   0|   0|   0|   3|   3|     3| [!can=0]
-// |enum      |   12|   0|   0|   0|   0|   8|   4|     4| [!can=0]
-// |typeobject|    2|   0|   0|   0|   0|   1|   1|     1|
-// |array     |  126|   0|   0|   0|   0|  62|  64|    64| [!can=0] [len min=1 max=3]
-// |list      |  240|   0|   0|   0|   0| 120| 120|   120| [!can=0] [len max=1]
-// |set       |  140|   0|   0|   0|   0|  70|  70|    70| [!can=0] [len max=1]
-// |map       |  144|   0|   0|   0|   0|  72|  72|    72| [!can=0] [len max=1]
-// |struct    |  232|   0|   0|   0|   0| 114| 118|   118| [!can=0]
-// |union     |  226|   0|   0|   0|   0| 112| 114|   114| [!can=0]
-// -------------------------------------------------------
-// |IsNamed   |  988|  20|  20|  12|  12| 460| 464|   464| [!can=0]
-// |IsUnnamed |  333|  10|  10|   6|   6| 150| 151|   151| [!can=0]
-// |IsBytes   |   22|   0|   0|   0|   0|  11|  11|    11| [!can=0]
-// -------------------------------------------------------
+// Entries: 1395
+// ----------------------------------------------------------
+// |             |Total|+Max|+Min|-Max|-Min|Full|Zero|isZero|
+// ----------------------------------------------------------
+// |total        | 1395|  33|  33|  21|  21| 641| 646|   646| [!can=0]
+// |isZero       |  646|   0|   0|   0|   0|   0| 646|   646| [!can=0]
+// ----------------------------------------------------------
+// |any          |    1|   0|   0|   0|   0|   0|   1|     1| [nil=1]
+// |optional     |   30|   0|   0|   0|   0|  15|  15|    15| [!can=0] [nil=15]
+// |bool         |   12|   0|   0|   0|   0|   6|   6|     6| [!can=0]
+// |byte         |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
+// |uint16       |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
+// |uint32       |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
+// |uint64       |   12|   3|   3|   0|   0|   3|   3|     3| [!can=0]
+// |int8         |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
+// |int16        |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
+// |int32        |   36|   6|   6|   6|   6|   6|   6|     6| [!can=0]
+// |int64        |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
+// |float32      |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
+// |float64      |   18|   3|   3|   3|   3|   3|   3|     3| [!can=0]
+// |string       |   10|   0|   0|   0|   0|   5|   5|     5| [!can=0]
+// |enum         |   12|   0|   0|   0|   0|   8|   4|     4| [!can=0]
+// |typeobject   |    2|   0|   0|   0|   0|   1|   1|     1|
+// |array        |  130|   0|   0|   0|   0|  64|  66|    66| [!can=0] [len min=1 max=3]
+// |list         |  244|   0|   0|   0|   0| 122| 122|   122| [!can=0] [len max=1]
+// |set          |  140|   0|   0|   0|   0|  70|  70|    70| [!can=0] [len max=1]
+// |map          |  144|   0|   0|   0|   0|  72|  72|    72| [!can=0] [len max=1]
+// |struct       |  258|   0|   0|   0|   0| 127| 131|   131| [!can=0]
+// |union        |  238|   0|   0|   0|   0| 118| 120|   120| [!can=0]
+// ----------------------------------------------------------
+// |IsNamed      | 1062|  23|  23|  15|  15| 491| 495|   495| [!can=0]
+// |IsUnnamed    |  333|  10|  10|   6|   6| 150| 151|   151| [!can=0]
+// |IsBytes      |   22|   0|   0|   0|   0|  11|  11|    11| [!can=0]
+// |IsPartOfCycle|   12|   0|   0|   0|   0|   6|   6|     6| [!can=0]
+// ----------------------------------------------------------
 // 
 // Each column has a pair of entry counts (canonical,non-canonical), computed
 // from the Source value.  An entry is canonical if Target == Source.
@@ -72171,6 +72172,3176 @@
 		"81592901001d762e696f2f7632332f76646c2f76646c746573742e56456e756d4263640103014201430144e1570404012de15531020029762e696f2f7632332f76646c2f76646c746573742e564172726179315f5365745f56456e756d426364012c0201e15344060037762e696f2f7632332f76646c2f76646c746573742e565374727563744465707468335f564172726179315f5365745f56456e756d426364010100024630012be1e1510408012ae1520500000102e1", "592901001d762e696f2f7632332f76646c2f76646c746573742e56456e756d4263640103014201430144e1570404012de15531020029762e696f2f7632332f76646c2f76646c746573742e564172726179315f5365745f56456e756d426364012c0201e15344060037762e696f2f7632332f76646c2f76646c746573742e565374727563744465707468335f564172726179315f5365745f56456e756d426364010100024630012be1e1510408012ae1", "520500000102e1",
 	},
 	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(67): "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1f                   ByteLen                           31 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c65 PrimValue       "v.io/v23/vdl/vdltest.VSelfCycle" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 4e657874             PrimValue                     "Next" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.VSelfCycle}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VSelfCycle END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.VSelfCycle}{Data: 0, Next: nil}}
+	{
+		`Zero vdltest.VSelfCycle{}`,
+		vdltest.VSelfCycle{},
+		0x81,
+		"81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e15201e1", "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(85): "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1f                   ByteLen                           31 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c65 PrimValue       "v.io/v23/vdl/vdltest.VSelfCycle" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 4e657874             PrimValue                     "Next" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.VSelfCycle}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VSelfCycle END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.VSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.VSelfCycle}{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123, Next: nil}}}}}
+	{
+		`Full vdltest.VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+		vdltest.VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+		0x81,
+		"81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(132): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(125): "e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(67): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "5137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB}}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleB END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB}}{Data: 0, A: nil}}
+	{
+		`Zero vdltest.VMutualCycleB{}`,
+		vdltest.VMutualCycleB{},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(150): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(143): "e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(85): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "5137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB}}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleB END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB}}{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123, B: nil}}}}}
+	{
+		`Full vdltest.VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+		vdltest.VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(132): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(125): "e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(67): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "5137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA}}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleA END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA}}{Data: 0, B: nil}}
+	{
+		`Zero vdltest.VMutualCycleA{}`,
+		vdltest.VMutualCycleA{},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(150): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(143): "e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(85): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "5137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.VMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA}}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VMutualCycleA END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.VMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.VMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.VMutualCycleA}}{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123, A: nil}}}}}
+	{
+		`Full vdltest.VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+		vdltest.VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(45): "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 29                   MsgLen                            41
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 23                   ByteLen                           35 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 41, MsgN: 41, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNBool bool]
+	// 00                   PrimValue                      false [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNBool bool(false)}
+	{
+		`Zero vdltest.VWireBoolNBool(false)`,
+		vdltest.VWireBoolNBool(false),
+		0x81,
+		"815129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15200", "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(45): "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 29                   MsgLen                            41
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 23                   ByteLen                           35 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 41, MsgN: 41, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNBool bool]
+	// 01                   PrimValue                       true [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNBool bool(true)}
+	{
+		`Full vdltest.VWireBoolNBool(true)`,
+		vdltest.VWireBoolNBool(true),
+		0x81,
+		"815129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15201", "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNString bool]
+	// 00                   PrimValue                      false [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNString bool(false)}
+	{
+		`Zero vdltest.VWireBoolNString(false)`,
+		vdltest.VWireBoolNString(false),
+		0x81,
+		"81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15200", "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNString bool]
+	// 01                   PrimValue                       true [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNString bool(true)}
+	{
+		`Full vdltest.VWireBoolNString(true)`,
+		vdltest.VWireBoolNString(true),
+		0x81,
+		"81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15201", "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNStruct bool]
+	// 00                   PrimValue                      false [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNStruct bool(false)}
+	{
+		`Zero vdltest.VWireBoolNStruct(false)`,
+		vdltest.VWireBoolNStruct(false),
+		0x81,
+		"81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15200", "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireBoolNStruct bool]
+	// 01                   PrimValue                       true [bool]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireBoolNStruct bool(true)}
+	{
+		`Full vdltest.VWireBoolNStruct(true)`,
+		vdltest.VWireBoolNStruct(true),
+		0x81,
+		"81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15201", "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(43): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// 00                   PrimValue                          0 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(0)}
+	{
+		`Zero vdltest.VWireIntNInt(0)`,
+		vdltest.VWireIntNInt(0),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15200", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcfffffffe"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(6): "52fcfffffffe"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// fcfffffffe           PrimValue                 2147483647 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(2147483647)}
+	{
+		`+Max vdltest.VWireIntNInt(2147483647)`,
+		vdltest.VWireIntNInt(2147483647),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcfffffffe", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "52fcfffffffe",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(43): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15202"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(2): "5202"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// 02                   PrimValue                          1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(1)}
+	{
+		`+Min vdltest.VWireIntNInt(1)`,
+		vdltest.VWireIntNInt(1),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15202", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "5202",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcffffffff"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(6): "52fcffffffff"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// fcffffffff           PrimValue                -2147483648 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(-2147483648)}
+	{
+		`-Max vdltest.VWireIntNInt(-2147483648)`,
+		vdltest.VWireIntNInt(-2147483648),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcffffffff", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "52fcffffffff",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(43): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// 01                   PrimValue                         -1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(-1)}
+	{
+		`-Min vdltest.VWireIntNInt(-1)`,
+		vdltest.VWireIntNInt(-1),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15201", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(44): "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fff5"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 39, MsgN: 39, Buf(3): "52fff5"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNInt int32]
+	// fff5                 PrimValue                       -123 [int]
+	// DumpStatus{MsgId: 41, MsgN: 3, Value: v.io/v23/vdl/vdltest.VWireIntNInt int32(-123)}
+	{
+		`Full vdltest.VWireIntNInt(-123)`,
+		vdltest.VWireIntNInt(-123),
+		0x81,
+		"815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fff5", "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1", "52fff5",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// 00                   PrimValue                          0 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(0)}
+	{
+		`Zero vdltest.VWireIntNString(0)`,
+		vdltest.VWireIntNString(0),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15200", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(50): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcfffffffe"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(6): "52fcfffffffe"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// fcfffffffe           PrimValue                 2147483647 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(2147483647)}
+	{
+		`+Max vdltest.VWireIntNString(2147483647)`,
+		vdltest.VWireIntNString(2147483647),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcfffffffe", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "52fcfffffffe",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15202"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5202"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// 02                   PrimValue                          1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(1)}
+	{
+		`+Min vdltest.VWireIntNString(1)`,
+		vdltest.VWireIntNString(1),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15202", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "5202",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(50): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcffffffff"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(6): "52fcffffffff"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// fcffffffff           PrimValue                -2147483648 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(-2147483648)}
+	{
+		`-Max vdltest.VWireIntNString(-2147483648)`,
+		vdltest.VWireIntNString(-2147483648),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcffffffff", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "52fcffffffff",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// 01                   PrimValue                         -1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(-1)}
+	{
+		`-Min vdltest.VWireIntNString(-1)`,
+		vdltest.VWireIntNString(-1),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15201", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fff5"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(3): "52fff5"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNString int32]
+	// fff5                 PrimValue                       -123 [int]
+	// DumpStatus{MsgId: 41, MsgN: 3, Value: v.io/v23/vdl/vdltest.VWireIntNString int32(-123)}
+	{
+		`Full vdltest.VWireIntNString(-123)`,
+		vdltest.VWireIntNString(-123),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fff5", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1", "52fff5",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// 00                   PrimValue                          0 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(0)}
+	{
+		`Zero vdltest.VWireIntNStruct(0)`,
+		vdltest.VWireIntNStruct(0),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15200", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(50): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcfffffffe"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(6): "52fcfffffffe"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// fcfffffffe           PrimValue                 2147483647 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(2147483647)}
+	{
+		`+Max vdltest.VWireIntNStruct(2147483647)`,
+		vdltest.VWireIntNStruct(2147483647),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcfffffffe", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "52fcfffffffe",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15202"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5202"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// 02                   PrimValue                          1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(1)}
+	{
+		`+Min vdltest.VWireIntNStruct(1)`,
+		vdltest.VWireIntNStruct(1),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15202", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "5202",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(50): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcffffffff"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(6): "52fcffffffff"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// fcffffffff           PrimValue                -2147483648 [int]
+	// DumpStatus{MsgId: 41, MsgN: 6, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(-2147483648)}
+	{
+		`-Max vdltest.VWireIntNStruct(-2147483648)`,
+		vdltest.VWireIntNStruct(-2147483648),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcffffffff", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "52fcffffffff",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(46): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15201"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(2): "5201"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// 01                   PrimValue                         -1 [int]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(-1)}
+	{
+		`-Min vdltest.VWireIntNStruct(-1)`,
+		vdltest.VWireIntNStruct(-1),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15201", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "5201",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(47): "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fff5"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 42, MsgN: 42, Buf(3): "52fff5"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireIntNStruct int32]
+	// fff5                 PrimValue                       -123 [int]
+	// DumpStatus{MsgId: 41, MsgN: 3, Value: v.io/v23/vdl/vdltest.VWireIntNStruct int32(-123)}
+	{
+		`Full vdltest.VWireIntNStruct(-123)`,
+		vdltest.VWireIntNStruct(-123),
+		0x81,
+		"81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fff5", "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1", "52fff5",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(49): "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 45, MsgN: 45, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStringNString string]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireStringNString string("")}
+	{
+		`Zero vdltest.VWireStringNString("")`,
+		vdltest.VWireStringNString(""),
+		0x81,
+		"81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e15200", "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(79): "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 45, MsgN: 45, Buf(32): "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStringNString string]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireStringNString string("abcdeΔΘΠΣΦ王普澤世界")}
+	{
+		`Full vdltest.VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")`,
+		vdltest.VWireStringNString("abcdeΔΘΠΣΦ王普澤世界"),
+		0x81,
+		"81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1", "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(49): "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e15200"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 45, MsgN: 45, Buf(2): "5200"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStringNStruct string]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireStringNStruct string("")}
+	{
+		`Zero vdltest.VWireStringNStruct("")`,
+		vdltest.VWireStringNStruct(""),
+		0x81,
+		"81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e15200", "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1", "5200",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(79): "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -41, MsgLen: 45, MsgN: 45, Buf(32): "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStringNStruct string]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireStringNStruct string("abcdeΔΘΠΣΦ王普澤世界")}
+	{
+		`Full vdltest.VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")`,
+		vdltest.VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界"),
+		0x81,
+		"81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1", "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(52): "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -41, MsgLen: 46, MsgN: 46, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireArrayNString [1]string]
+	// 02                   MsgLen                             2
+	// 00                   ValueLen                           1 [list len]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireArrayNString [1]string{""}}
+	{
+		`Zero vdltest.VWireArrayNString{}`,
+		vdltest.VWireArrayNString{},
+		0x81,
+		"81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e152020000", "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(82): "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -41, MsgLen: 46, MsgN: 46, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireArrayNString [1]string]
+	// 20                   MsgLen                            32
+	// 00                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireArrayNString [1]string{"abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireArrayNString{"abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(52): "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -41, MsgLen: 46, MsgN: 46, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string]
+	// 02                   MsgLen                             2
+	// 00                   ValueLen                           1 [list len]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string{""}}
+	{
+		`Zero vdltest.VWireArrayNStruct{}`,
+		vdltest.VWireArrayNStruct{},
+		0x81,
+		"81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e152020000", "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(82): "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -41, MsgLen: 46, MsgN: 46, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string]
+	// 20                   MsgLen                            32
+	// 00                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string{"abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireArrayNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(48): "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1520100"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(3): "520100"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireListNString []string]
+	// 01                   MsgLen                             1
+	// 00                   ValueLen                           0 [list len]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireListNString []string{}}
+	{
+		`Zero vdltest.VWireListNString{}`,
+		vdltest.VWireListNString{},
+		0x81,
+		"81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1520100", "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1", "520100",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(79): "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(34): "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireListNString []string]
+	// 20                   MsgLen                            32
+	// 01                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireListNString []string{"abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireListNString{"abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1", "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(48): "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1520100"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(3): "520100"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireListNStruct []string]
+	// 01                   MsgLen                             1
+	// 00                   ValueLen                           0 [list len]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireListNStruct []string{}}
+	{
+		`Zero vdltest.VWireListNStruct{}`,
+		vdltest.VWireListNStruct{},
+		0x81,
+		"81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1520100", "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1", "520100",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(79): "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -41, MsgLen: 43, MsgN: 43, Buf(34): "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireListNStruct []string]
+	// 20                   MsgLen                            32
+	// 01                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireListNStruct []string{"abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireListNStruct{"abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1", "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(56): "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNString struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNString END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNString struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNString{}`,
+		vdltest.VWireStructNString{},
+		0x81,
+		"815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15201e1", "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(88): "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNString struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNString.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNString END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNString struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(56): "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNStruct END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNStruct{}`,
+		vdltest.VWireStructNStruct{},
+		0x81,
+		"815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15201e1", "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(88): "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNStruct.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNStruct END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNArray struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNArray END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNArray struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNArray{}`,
+		vdltest.VWireStructNArray{},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15201e1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(87): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNArray struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNArray.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNArray END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNArray struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNSlice END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNSlice{}`,
+		vdltest.VWireStructNSlice{},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15201e1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(87): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNSlice.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNSlice END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(57): "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 34                   MsgLen                            52
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 28                   ByteLen                           40 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 52, MsgN: 52, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNPointer END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNPointer{}`,
+		vdltest.VWireStructNPointer{},
+		0x81,
+		"815134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15201e1", "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(89): "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 34                   MsgLen                            52
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 28                   ByteLen                           40 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 52, MsgN: 52, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNPointer.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNPointer END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNIface struct{X string}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNIface END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireStructNIface struct{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireStructNIface{}`,
+		vdltest.VWireStructNIface{},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15201e1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(87): "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(35): "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireStructNIface struct{X string}]
+	// 21                   MsgLen                            33
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNIface.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNIface END]
+	// DumpStatus{MsgId: 41, MsgLen: 33, MsgN: 33, Value: v.io/v23/vdl/vdltest.VWireStructNIface struct{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireStructNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e1", "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(56): "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNString union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNString.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNString union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNString{X: ""}`,
+		vdltest.VWireUnionNString{X: ""},
+		0x81,
+		"815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e152020000", "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(86): "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNString union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNString.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNString union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNString{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(56): "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNStruct.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNStruct{X: ""}`,
+		vdltest.VWireUnionNStruct{X: ""},
+		0x81,
+		"815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e152020000", "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(86): "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 50, MsgN: 50, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNStruct.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNStruct{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNArray union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNArray.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNArray union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNArray{X: ""}`,
+		vdltest.VWireUnionNArray{X: ""},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e152020000", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(85): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNArray union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNArray.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNArray union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNArray{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNSlice.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNSlice{X: ""}`,
+		vdltest.VWireUnionNSlice{X: ""},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e152020000", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(85): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNSlice.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNSlice{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(57): "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNPointer.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNPointer{X: ""}`,
+		vdltest.VWireUnionNPointer{X: ""},
+		0x81,
+		"815133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e152020000", "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(87): "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 33                   MsgLen                            51
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 51, MsgN: 51, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNPointer.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNPointer{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(55): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e152020000"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(4): "52020000"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}]
+	// 02                   MsgLen                             2
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNIface.X]
+	// 00                   ByteLen                            0 [string len]
+	//                      PrimValue                         "" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 2, MsgN: 2, Value: v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}{X: ""}}
+	{
+		`Zero vdltest.VWireUnionNIface{X: ""}`,
+		vdltest.VWireUnionNIface{X: ""},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e152020000", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e1", "52020000",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(85): "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -41, MsgLen: 49, MsgN: 49, Buf(34): "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}]
+	// 20                   MsgLen                            32
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNIface.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// DumpStatus{MsgId: 41, MsgLen: 32, MsgN: 32, Value: v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}{X: "abcdeΔΘΠΣΦ王普澤世界"}}
+	{
+		`Full vdltest.VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"}`,
+		vdltest.VWireUnionNIface{X: "abcdeΔΘΠΣΦ王普澤世界"},
+		0x81,
+		"815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c", "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e1", "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(1023): "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 29                   MsgLen                            41
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 23                   ByteLen                           35 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -42, MsgLen: 41, MsgN: 41, Buf(980): "552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -43, MsgLen: 43, MsgN: 43, Buf(935): "572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -44, MsgLen: 43, MsgN: 43, Buf(890): "5927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 59                   MsgId                            -45
+	//                      TypeMsg                           45
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -45, MsgLen: 39, MsgN: 39, Buf(849): "5b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5b                   MsgId                            -46
+	//                      TypeMsg                           46
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -46, MsgLen: 42, MsgN: 42, Buf(805): "5d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5d                   MsgId                            -47
+	//                      TypeMsg                           47
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -47, MsgLen: 42, MsgN: 42, Buf(761): "5f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5f                   MsgId                            -48
+	//                      TypeMsg                           48
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -48, MsgLen: 45, MsgN: 45, Buf(714): "612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 61                   MsgId                            -49
+	//                      TypeMsg                           49
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -49, MsgLen: 45, MsgN: 45, Buf(667): "632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 63                   MsgId                            -50
+	//                      TypeMsg                           50
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -50, MsgLen: 46, MsgN: 46, Buf(619): "652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 65                   MsgId                            -51
+	//                      TypeMsg                           51
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -51, MsgLen: 46, MsgN: 46, Buf(571): "672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 67                   MsgId                            -52
+	//                      TypeMsg                           52
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -52, MsgLen: 43, MsgN: 43, Buf(526): "692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 69                   MsgId                            -53
+	//                      TypeMsg                           53
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -53, MsgLen: 43, MsgN: 43, Buf(481): "6b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6b                   MsgId                            -54
+	//                      TypeMsg                           54
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -54, MsgLen: 51, MsgN: 51, Buf(428): "6d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6d                   MsgId                            -55
+	//                      TypeMsg                           55
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -55, MsgLen: 51, MsgN: 51, Buf(375): "6f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6f                   MsgId                            -56
+	//                      TypeMsg                           56
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -56, MsgLen: 50, MsgN: 50, Buf(323): "7132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 71                   MsgId                            -57
+	//                      TypeMsg                           57
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -57, MsgLen: 50, MsgN: 50, Buf(271): "7334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 73                   MsgId                            -58
+	//                      TypeMsg                           58
+	// 34                   MsgLen                            52
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 28                   ByteLen                           40 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -58, MsgLen: 52, MsgN: 52, Buf(217): "7532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 75                   MsgId                            -59
+	//                      TypeMsg                           59
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -59, MsgLen: 50, MsgN: 50, Buf(165): "7732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 77                   MsgId                            -60
+	//                      TypeMsg                           60
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -60, MsgLen: 50, MsgN: 50, Buf(113): "7932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 79                   MsgId                            -61
+	//                      TypeMsg                           61
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -61, MsgLen: 50, MsgN: 50, Buf(61): "7b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 7b                   MsgId                            -62
+	//                      TypeMsg                           62
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -62, MsgLen: 49, MsgN: 49, Buf(10): "7d31070025762e696f2f"}
+	// 7d                   MsgId                            -63
+	//                      TypeMsg                           63
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -63, MsgLen: 49, MsgN: 49, Buf(543): "7f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e15201e1"}
+	// 7f                   MsgId                            -64
+	//                      TypeMsg                           64
+	// 33                   MsgLen                            51
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -64, MsgLen: 51, MsgN: 51, Buf(490): "ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e15201e1"}
+	// ff81                 MsgId                            -65
+	//                      TypeMsg                           65
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -65, MsgLen: 49, MsgN: 49, Buf(438): "51fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// fe01af               MsgLen                           431
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1d                   ByteLen                           29 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c PrimValue       "v.io/v23/vdl/vdltest.VWireAll" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 18                   ValueLen                          24 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 09                   ByteLen                            9 [string len]
+	// 426f6f6c4e426f6f6c   PrimValue                "BoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 426f6f6c4e537472696e67 PrimValue              "BoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 426f6f6c4e537472756374 PrimValue              "BoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 07                   ByteLen                            7 [string len]
+	// 496e744e496e74       PrimValue                  "IntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2d                   PrimValue                         45 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0a                   ByteLen                           10 [string len]
+	// 496e744e537472696e67 PrimValue               "IntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2e                   PrimValue                         46 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0a                   ByteLen                           10 [string len]
+	// 496e744e537472756374 PrimValue               "IntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2f                   PrimValue                         47 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 537472696e674e537472696e67 PrimValue            "StringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 30                   PrimValue                         48 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 537472696e674e537472756374 PrimValue            "StringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 31                   PrimValue                         49 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 41727261794e537472696e67 PrimValue             "ArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 32                   PrimValue                         50 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 41727261794e537472756374 PrimValue             "ArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 33                   PrimValue                         51 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 4c6973744e537472696e67 PrimValue              "ListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 34                   PrimValue                         52 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 4c6973744e537472756374 PrimValue              "ListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 35                   PrimValue                         53 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 5374727563744e537472696e67 PrimValue            "StructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 36                   PrimValue                         54 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 5374727563744e537472756374 PrimValue            "StructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 37                   PrimValue                         55 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e4172726179 PrimValue             "StructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 38                   PrimValue                         56 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e536c696365 PrimValue             "StructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 39                   PrimValue                         57 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0e                   ByteLen                           14 [string len]
+	// 5374727563744e506f696e746572 PrimValue           "StructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3a                   PrimValue                         58 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e4966616365 PrimValue             "StructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3b                   PrimValue                         59 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 556e696f6e4e537472696e67 PrimValue             "UnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3c                   PrimValue                         60 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 556e696f6e4e537472756374 PrimValue             "UnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3d                   PrimValue                         61 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e4172726179 PrimValue              "UnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3e                   PrimValue                         62 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e536c696365 PrimValue              "UnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3f                   PrimValue                         63 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 556e696f6e4e506f696e746572 PrimValue            "UnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 40                   PrimValue                         64 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e4966616365 PrimValue              "UnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 41                   PrimValue                         65 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 431, MsgN: 431, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireAll struct{BoolNBool v.io/v23/vdl/vdltest.VWireBoolNBool bool;BoolNString v.io/v23/vdl/vdltest.VWireBoolNString bool;BoolNStruct v.io/v23/vdl/vdltest.VWireBoolNStruct bool;IntNInt v.io/v23/vdl/vdltest.VWireIntNInt int32;IntNString v.io/v23/vdl/vdltest.VWireIntNString int32;IntNStruct v.io/v23/vdl/vdltest.VWireIntNStruct int32;StringNString v.io/v23/vdl/vdltest.VWireStringNString string;StringNStruct v.io/v23/vdl/vdltest.VWireStringNStruct string;ArrayNString v.io/v23/vdl/vdltest.VWireArrayNString [1]string;ArrayNStruct v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string;ListNString v.io/v23/vdl/vdltest.VWireListNString []string;ListNStruct v.io/v23/vdl/vdltest.VWireListNStruct []string;StructNString v.io/v23/vdl/vdltest.VWireStructNString struct{X string};StructNStruct v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string};StructNArray v.io/v23/vdl/vdltest.VWireStructNArray struct{X string};StructNSlice v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string};StructNPointer v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string};StructNIface v.io/v23/vdl/vdltest.VWireStructNIface struct{X string};UnionNString v.io/v23/vdl/vdltest.VWireUnionNString union{X string};UnionNStruct v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string};UnionNArray v.io/v23/vdl/vdltest.VWireUnionNArray union{X string};UnionNSlice v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string};UnionNPointer v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string};UnionNIface v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireAll END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.VWireAll struct{BoolNBool v.io/v23/vdl/vdltest.VWireBoolNBool bool;BoolNString v.io/v23/vdl/vdltest.VWireBoolNString bool;BoolNStruct v.io/v23/vdl/vdltest.VWireBoolNStruct bool;IntNInt v.io/v23/vdl/vdltest.VWireIntNInt int32;IntNString v.io/v23/vdl/vdltest.VWireIntNString int32;IntNStruct v.io/v23/vdl/vdltest.VWireIntNStruct int32;StringNString v.io/v23/vdl/vdltest.VWireStringNString string;StringNStruct v.io/v23/vdl/vdltest.VWireStringNStruct string;ArrayNString v.io/v23/vdl/vdltest.VWireArrayNString [1]string;ArrayNStruct v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string;ListNString v.io/v23/vdl/vdltest.VWireListNString []string;ListNStruct v.io/v23/vdl/vdltest.VWireListNStruct []string;StructNString v.io/v23/vdl/vdltest.VWireStructNString struct{X string};StructNStruct v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string};StructNArray v.io/v23/vdl/vdltest.VWireStructNArray struct{X string};StructNSlice v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string};StructNPointer v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string};StructNIface v.io/v23/vdl/vdltest.VWireStructNIface struct{X string};UnionNString v.io/v23/vdl/vdltest.VWireUnionNString union{X string};UnionNStruct v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string};UnionNArray v.io/v23/vdl/vdltest.VWireUnionNArray union{X string};UnionNSlice v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string};UnionNPointer v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string};UnionNIface v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}}{BoolNBool: false, BoolNString: false, BoolNStruct: false, IntNInt: 0, IntNString: 0, IntNStruct: 0, StringNString: "", StringNStruct: "", ArrayNString: {""}, ArrayNStruct: {""}, ListNString: {}, ListNStruct: {}, StructNString: {X: ""}, StructNStruct: {X: ""}, StructNArray: {X: ""}, StructNSlice: {X: ""}, StructNPointer: {X: ""}, StructNIface: {X: ""}, UnionNString: {X: ""}, UnionNStruct: {X: ""}, UnionNArray: {X: ""}, UnionNSlice: {X: ""}, UnionNPointer: {X: ""}, UnionNIface: {X: ""}}}
+	{
+		`Zero vdltest.VWireAll{}`,
+		vdltest.VWireAll{},
+		0x81,
+		"815329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e15201e1", "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(1023): "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 29                   MsgLen                            41
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 23                   ByteLen                           35 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -42, MsgLen: 41, MsgN: 41, Buf(980): "552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -43, MsgLen: 43, MsgN: 43, Buf(935): "572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 2b                   MsgLen                            43
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireBoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -44, MsgLen: 43, MsgN: 43, Buf(890): "5927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 59                   MsgId                            -45
+	//                      TypeMsg                           45
+	// 27                   MsgLen                            39
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 21                   ByteLen                           33 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e74 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -45, MsgLen: 39, MsgN: 39, Buf(849): "5b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5b                   MsgId                            -46
+	//                      TypeMsg                           46
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -46, MsgLen: 42, MsgN: 42, Buf(805): "5d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5d                   MsgId                            -47
+	//                      TypeMsg                           47
+	// 2a                   MsgLen                            42
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 24                   ByteLen                           36 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireIntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 08                   PrimValue                          8 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -47, MsgLen: 42, MsgN: 42, Buf(761): "5f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 5f                   MsgId                            -48
+	//                      TypeMsg                           48
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -48, MsgLen: 45, MsgN: 45, Buf(714): "612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 61                   MsgId                            -49
+	//                      TypeMsg                           49
+	// 2d                   MsgLen                            45
+	// 00                   WireTypeIndex                      0 [v.io/v23/vom.wireNamed]
+	// 00                   Index                              0 [v.io/v23/vom.wireNamed.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireNamed.Base]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireNamed END]
+	// DumpStatus{MsgId: -49, MsgLen: 45, MsgN: 45, Buf(667): "632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 63                   MsgId                            -50
+	//                      TypeMsg                           50
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -50, MsgLen: 46, MsgN: 46, Buf(619): "652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 65                   MsgId                            -51
+	//                      TypeMsg                           51
+	// 2e                   MsgLen                            46
+	// 02                   WireTypeIndex                      2 [v.io/v23/vom.wireArray]
+	// 00                   Index                              0 [v.io/v23/vom.wireArray.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireArray.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// 02                   Index                              2 [v.io/v23/vom.wireArray.Len]
+	// 01                   PrimValue                          1 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireArray END]
+	// DumpStatus{MsgId: -51, MsgLen: 46, MsgN: 46, Buf(571): "672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 67                   MsgId                            -52
+	//                      TypeMsg                           52
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -52, MsgLen: 43, MsgN: 43, Buf(526): "692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 69                   MsgId                            -53
+	//                      TypeMsg                           53
+	// 2b                   MsgLen                            43
+	// 03                   WireTypeIndex                      3 [v.io/v23/vom.wireList]
+	// 00                   Index                              0 [v.io/v23/vom.wireList.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireList.Elem]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireList END]
+	// DumpStatus{MsgId: -53, MsgLen: 43, MsgN: 43, Buf(481): "6b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6b                   MsgId                            -54
+	//                      TypeMsg                           54
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -54, MsgLen: 51, MsgN: 51, Buf(428): "6d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6d                   MsgId                            -55
+	//                      TypeMsg                           55
+	// 33                   MsgLen                            51
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -55, MsgLen: 51, MsgN: 51, Buf(375): "6f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 6f                   MsgId                            -56
+	//                      TypeMsg                           56
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -56, MsgLen: 50, MsgN: 50, Buf(323): "7132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 71                   MsgId                            -57
+	//                      TypeMsg                           57
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -57, MsgLen: 50, MsgN: 50, Buf(271): "7334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 73                   MsgId                            -58
+	//                      TypeMsg                           58
+	// 34                   MsgLen                            52
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 28                   ByteLen                           40 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -58, MsgLen: 52, MsgN: 52, Buf(217): "7532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 75                   MsgId                            -59
+	//                      TypeMsg                           59
+	// 32                   MsgLen                            50
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireStructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -59, MsgLen: 50, MsgN: 50, Buf(165): "7732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 77                   MsgId                            -60
+	//                      TypeMsg                           60
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e67 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -60, MsgLen: 50, MsgN: 50, Buf(113): "7932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 79                   MsgId                            -61
+	//                      TypeMsg                           61
+	// 32                   MsgLen                            50
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 26                   ByteLen                           38 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472756374 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -61, MsgLen: 50, MsgN: 50, Buf(61): "7b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f"}
+	// 7b                   MsgId                            -62
+	//                      TypeMsg                           62
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4172726179 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -62, MsgLen: 49, MsgN: 49, Buf(10): "7d31070025762e696f2f"}
+	// 7d                   MsgId                            -63
+	//                      TypeMsg                           63
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c696365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -63, MsgLen: 49, MsgN: 49, Buf(978): "7f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e152fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e7"}
+	// 7f                   MsgId                            -64
+	//                      TypeMsg                           64
+	// 33                   MsgLen                            51
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 27                   ByteLen                           39 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e746572 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -64, MsgLen: 51, MsgN: 51, Buf(925): "ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e152fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e7"}
+	// ff81                 MsgId                            -65
+	//                      TypeMsg                           65
+	// 31                   MsgLen                            49
+	// 07                   WireTypeIndex                      7 [v.io/v23/vom.wireUnion]
+	// 00                   Index                              0 [v.io/v23/vom.wireUnion.Name]
+	// 25                   ByteLen                           37 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e4966616365 PrimValue       "v.io/v23/vdl/vdltest.VWireUnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireUnion.Fields]
+	// 01                   ValueLen                           1 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 58                   PrimValue                        "X" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 03                   PrimValue                          3 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireUnion END]
+	// DumpStatus{MsgId: -65, MsgLen: 49, MsgN: 49, Buf(873): "51fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e152fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e7"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// fe01af               MsgLen                           431
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1d                   ByteLen                           29 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c PrimValue       "v.io/v23/vdl/vdltest.VWireAll" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 18                   ValueLen                          24 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 09                   ByteLen                            9 [string len]
+	// 426f6f6c4e426f6f6c   PrimValue                "BoolNBool" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 426f6f6c4e537472696e67 PrimValue              "BoolNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 426f6f6c4e537472756374 PrimValue              "BoolNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 07                   ByteLen                            7 [string len]
+	// 496e744e496e74       PrimValue                  "IntNInt" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2d                   PrimValue                         45 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0a                   ByteLen                           10 [string len]
+	// 496e744e537472696e67 PrimValue               "IntNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2e                   PrimValue                         46 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0a                   ByteLen                           10 [string len]
+	// 496e744e537472756374 PrimValue               "IntNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2f                   PrimValue                         47 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 537472696e674e537472696e67 PrimValue            "StringNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 30                   PrimValue                         48 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 537472696e674e537472756374 PrimValue            "StringNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 31                   PrimValue                         49 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 41727261794e537472696e67 PrimValue             "ArrayNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 32                   PrimValue                         50 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 41727261794e537472756374 PrimValue             "ArrayNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 33                   PrimValue                         51 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 4c6973744e537472696e67 PrimValue              "ListNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 34                   PrimValue                         52 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 4c6973744e537472756374 PrimValue              "ListNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 35                   PrimValue                         53 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 5374727563744e537472696e67 PrimValue            "StructNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 36                   PrimValue                         54 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 5374727563744e537472756374 PrimValue            "StructNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 37                   PrimValue                         55 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e4172726179 PrimValue             "StructNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 38                   PrimValue                         56 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e536c696365 PrimValue             "StructNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 39                   PrimValue                         57 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0e                   ByteLen                           14 [string len]
+	// 5374727563744e506f696e746572 PrimValue           "StructNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3a                   PrimValue                         58 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 5374727563744e4966616365 PrimValue             "StructNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3b                   PrimValue                         59 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 556e696f6e4e537472696e67 PrimValue             "UnionNString" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3c                   PrimValue                         60 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0c                   ByteLen                           12 [string len]
+	// 556e696f6e4e537472756374 PrimValue             "UnionNStruct" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3d                   PrimValue                         61 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e4172726179 PrimValue              "UnionNArray" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3e                   PrimValue                         62 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e536c696365 PrimValue              "UnionNSlice" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 3f                   PrimValue                         63 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0d                   ByteLen                           13 [string len]
+	// 556e696f6e4e506f696e746572 PrimValue            "UnionNPointer" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 40                   PrimValue                         64 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 0b                   ByteLen                           11 [string len]
+	// 556e696f6e4e4966616365 PrimValue              "UnionNIface" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 41                   PrimValue                         65 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 431, MsgN: 431, Buf(438): "52fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e7"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.VWireAll struct{BoolNBool v.io/v23/vdl/vdltest.VWireBoolNBool bool;BoolNString v.io/v23/vdl/vdltest.VWireBoolNString bool;BoolNStruct v.io/v23/vdl/vdltest.VWireBoolNStruct bool;IntNInt v.io/v23/vdl/vdltest.VWireIntNInt int32;IntNString v.io/v23/vdl/vdltest.VWireIntNString int32;IntNStruct v.io/v23/vdl/vdltest.VWireIntNStruct int32;StringNString v.io/v23/vdl/vdltest.VWireStringNString string;StringNStruct v.io/v23/vdl/vdltest.VWireStringNStruct string;ArrayNString v.io/v23/vdl/vdltest.VWireArrayNString [1]string;ArrayNStruct v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string;ListNString v.io/v23/vdl/vdltest.VWireListNString []string;ListNStruct v.io/v23/vdl/vdltest.VWireListNStruct []string;StructNString v.io/v23/vdl/vdltest.VWireStructNString struct{X string};StructNStruct v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string};StructNArray v.io/v23/vdl/vdltest.VWireStructNArray struct{X string};StructNSlice v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string};StructNPointer v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string};StructNIface v.io/v23/vdl/vdltest.VWireStructNIface struct{X string};UnionNString v.io/v23/vdl/vdltest.VWireUnionNString union{X string};UnionNStruct v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string};UnionNArray v.io/v23/vdl/vdltest.VWireUnionNArray union{X string};UnionNSlice v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string};UnionNPointer v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string};UnionNIface v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}}]
+	// fe0266               MsgLen                           614
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireAll.BoolNBool]
+	// 01                   PrimValue                       true [bool]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.VWireAll.BoolNString]
+	// 01                   PrimValue                       true [bool]
+	// 02                   Index                              2 [v.io/v23/vdl/vdltest.VWireAll.BoolNStruct]
+	// 01                   PrimValue                       true [bool]
+	// 03                   Index                              3 [v.io/v23/vdl/vdltest.VWireAll.IntNInt]
+	// fff5                 PrimValue                       -123 [int]
+	// 04                   Index                              4 [v.io/v23/vdl/vdltest.VWireAll.IntNString]
+	// fff5                 PrimValue                       -123 [int]
+	// 05                   Index                              5 [v.io/v23/vdl/vdltest.VWireAll.IntNStruct]
+	// fff5                 PrimValue                       -123 [int]
+	// 06                   Index                              6 [v.io/v23/vdl/vdltest.VWireAll.StringNString]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 07                   Index                              7 [v.io/v23/vdl/vdltest.VWireAll.StringNStruct]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 08                   Index                              8 [v.io/v23/vdl/vdltest.VWireAll.ArrayNString]
+	// 00                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 09                   Index                              9 [v.io/v23/vdl/vdltest.VWireAll.ArrayNStruct]
+	// 00                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 0a                   Index                             10 [v.io/v23/vdl/vdltest.VWireAll.ListNString]
+	// 01                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 0b                   Index                             11 [v.io/v23/vdl/vdltest.VWireAll.ListNStruct]
+	// 01                   ValueLen                           1 [list len]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 0c                   Index                             12 [v.io/v23/vdl/vdltest.VWireAll.StructNString]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNString.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNString END]
+	// 0d                   Index                             13 [v.io/v23/vdl/vdltest.VWireAll.StructNStruct]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNStruct.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNStruct END]
+	// 0e                   Index                             14 [v.io/v23/vdl/vdltest.VWireAll.StructNArray]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNArray.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNArray END]
+	// 0f                   Index                             15 [v.io/v23/vdl/vdltest.VWireAll.StructNSlice]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNSlice.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNSlice END]
+	// 10                   Index                             16 [v.io/v23/vdl/vdltest.VWireAll.StructNPointer]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNPointer.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNPointer END]
+	// 11                   Index                             17 [v.io/v23/vdl/vdltest.VWireAll.StructNIface]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireStructNIface.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireStructNIface END]
+	// 12                   Index                             18 [v.io/v23/vdl/vdltest.VWireAll.UnionNString]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNString.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 13                   Index                             19 [v.io/v23/vdl/vdltest.VWireAll.UnionNStruct]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNStruct.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 14                   Index                             20 [v.io/v23/vdl/vdltest.VWireAll.UnionNArray]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNArray.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 15                   Index                             21 [v.io/v23/vdl/vdltest.VWireAll.UnionNSlice]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNSlice.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 16                   Index                             22 [v.io/v23/vdl/vdltest.VWireAll.UnionNPointer]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNPointer.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// 17                   Index                             23 [v.io/v23/vdl/vdltest.VWireAll.UnionNIface]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.VWireUnionNIface.X]
+	// 1e                   ByteLen                           30 [string len]
+	// 6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c PrimValue          "abcdeΔΘΠΣΦ王普澤世界" [string]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.VWireAll END]
+	// DumpStatus{MsgId: 41, MsgLen: 614, MsgN: 614, Value: v.io/v23/vdl/vdltest.VWireAll struct{BoolNBool v.io/v23/vdl/vdltest.VWireBoolNBool bool;BoolNString v.io/v23/vdl/vdltest.VWireBoolNString bool;BoolNStruct v.io/v23/vdl/vdltest.VWireBoolNStruct bool;IntNInt v.io/v23/vdl/vdltest.VWireIntNInt int32;IntNString v.io/v23/vdl/vdltest.VWireIntNString int32;IntNStruct v.io/v23/vdl/vdltest.VWireIntNStruct int32;StringNString v.io/v23/vdl/vdltest.VWireStringNString string;StringNStruct v.io/v23/vdl/vdltest.VWireStringNStruct string;ArrayNString v.io/v23/vdl/vdltest.VWireArrayNString [1]string;ArrayNStruct v.io/v23/vdl/vdltest.VWireArrayNStruct [1]string;ListNString v.io/v23/vdl/vdltest.VWireListNString []string;ListNStruct v.io/v23/vdl/vdltest.VWireListNStruct []string;StructNString v.io/v23/vdl/vdltest.VWireStructNString struct{X string};StructNStruct v.io/v23/vdl/vdltest.VWireStructNStruct struct{X string};StructNArray v.io/v23/vdl/vdltest.VWireStructNArray struct{X string};StructNSlice v.io/v23/vdl/vdltest.VWireStructNSlice struct{X string};StructNPointer v.io/v23/vdl/vdltest.VWireStructNPointer struct{X string};StructNIface v.io/v23/vdl/vdltest.VWireStructNIface struct{X string};UnionNString v.io/v23/vdl/vdltest.VWireUnionNString union{X string};UnionNStruct v.io/v23/vdl/vdltest.VWireUnionNStruct union{X string};UnionNArray v.io/v23/vdl/vdltest.VWireUnionNArray union{X string};UnionNSlice v.io/v23/vdl/vdltest.VWireUnionNSlice union{X string};UnionNPointer v.io/v23/vdl/vdltest.VWireUnionNPointer union{X string};UnionNIface v.io/v23/vdl/vdltest.VWireUnionNIface union{X string}}{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}}}
+	{
+		`Full vdltest.VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}}`,
+		vdltest.VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: "abcdeΔΘΠΣΦ王普澤世界", StringNStruct: "abcdeΔΘΠΣΦ王普澤世界", ArrayNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ArrayNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNString: {"abcdeΔΘΠΣΦ王普澤世界"}, ListNStruct: {"abcdeΔΘΠΣΦ王普澤世界"}, StructNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, StructNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNString: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNStruct: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNArray: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNSlice: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNPointer: {X: "abcdeΔΘΠΣΦ王普澤世界"}, UnionNIface: {X: "abcdeΔΘΠΣΦ王普澤世界"}},
+		0x81,
+		"815329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e152fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c13001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c14001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c15001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c16001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c17001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1", "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e1", "52fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c13001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c14001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c15001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c16001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c17001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	// 81                   Version                          129 [vom version 81]
 	// DumpStatus{MsgId: 0, MsgN: 1, Buf(36): "512000001a762e696f2f7632332f76646c2f76646c746573742e58426f6f6c0101e15200"}
 	// 51                   MsgId                            -41
 	//                      TypeMsg                           41
@@ -142458,4 +145629,448 @@
 		0x81,
 		"81592901001d762e696f2f7632332f76646c2f76646c746573742e58456e756d4263640103014201430144e1570404012de15531020029762e696f2f7632332f76646c2f76646c746573742e584172726179315f5365745f58456e756d426364012c0201e15344060037762e696f2f7632332f76646c2f76646c746573742e585374727563744465707468335f584172726179315f5365745f58456e756d426364010100024630012be1e1510408012ae1520500000102e1", "592901001d762e696f2f7632332f76646c2f76646c746573742e58456e756d4263640103014201430144e1570404012de15531020029762e696f2f7632332f76646c2f76646c746573742e584172726179315f5365745f58456e756d426364012c0201e15344060037762e696f2f7632332f76646c2f76646c746573742e585374727563744465707468335f584172726179315f5365745f58456e756d426364010100024630012be1e1510408012ae1", "520500000102e1",
 	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(67): "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1f                   ByteLen                           31 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c65 PrimValue       "v.io/v23/vdl/vdltest.XSelfCycle" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 4e657874             PrimValue                     "Next" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.XSelfCycle}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XSelfCycle END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.XSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.XSelfCycle}{Data: 0, Next: nil}}
+	{
+		`Zero vdltest.XSelfCycle{}`,
+		vdltest.XSelfCycle{},
+		0x81,
+		"81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e15201e1", "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(85): "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 1f                   ByteLen                           31 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c65 PrimValue       "v.io/v23/vdl/vdltest.XSelfCycle" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 4e657874             PrimValue                     "Next" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.XSelfCycle}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XSelfCycle.Next]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XSelfCycle.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XSelfCycle END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XSelfCycle END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.XSelfCycle struct{Data int64;Next ?v.io/v23/vdl/vdltest.XSelfCycle}{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123, Next: nil}}}}}
+	{
+		`Full vdltest.XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}`,
+		vdltest.XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}},
+		0x81,
+		"81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(132): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(125): "e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(67): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "5137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB}}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleB END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB}}{Data: 0, A: nil}}
+	{
+		`Zero vdltest.XMutualCycleB{}`,
+		vdltest.XMutualCycleB{},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(150): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(143): "e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(85): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "5137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB}}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleB END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB}}{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123, B: nil}}}}}
+	{
+		`Full vdltest.XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}`,
+		vdltest.XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(132): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(125): "e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(67): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(60): "5137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(3): "5201e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA}}]
+	// 01                   MsgLen                             1
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleA END]
+	// DumpStatus{MsgId: 41, MsgLen: 1, MsgN: 1, Value: v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA}}{Data: 0, B: nil}}
+	{
+		`Zero vdltest.XMutualCycleA{}`,
+		vdltest.XMutualCycleA{},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1", "5201e1",
+	},
+	// 81                   Version                          129 [vom version 81]
+	// DumpStatus{MsgId: 0, MsgN: 1, Buf(150): "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 57                   MsgId                            -44
+	//                      TypeMsg                           44
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 29                   PrimValue                         41 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -44, MsgLen: 4, MsgN: 4, Buf(143): "e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 55                   MsgId                            -43
+	//                      TypeMsg                           43
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6542 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleB" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 41                   PrimValue                        "A" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2c                   PrimValue                         44 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -43, MsgLen: 55, MsgN: 55, Buf(85): "e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// e2                   Control               IncompleteType [incomplete type]
+	// 53                   MsgId                            -42
+	//                      TypeMsg                           42
+	// 04                   MsgLen                             4
+	// 08                   WireTypeIndex                      8 [v.io/v23/vom.wireOptional]
+	// 01                   Index                              1 [v.io/v23/vom.wireOptional.Elem]
+	// 2b                   PrimValue                         43 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireOptional END]
+	// DumpStatus{MsgId: -42, MsgLen: 4, MsgN: 4, Buf(78): "5137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 51                   MsgId                            -41
+	//                      TypeMsg                           41
+	// 37                   MsgLen                            55
+	// 06                   WireTypeIndex                      6 [v.io/v23/vom.wireStruct]
+	// 00                   Index                              0 [v.io/v23/vom.wireStruct.Name]
+	// 22                   ByteLen                           34 [string len]
+	// 762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c6541 PrimValue       "v.io/v23/vdl/vdltest.XMutualCycleA" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireStruct.Fields]
+	// 02                   ValueLen                           2 [list len]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 04                   ByteLen                            4 [string len]
+	// 44617461             PrimValue                     "Data" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 09                   PrimValue                          9 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// 00                   Index                              0 [v.io/v23/vom.wireField.Name]
+	// 01                   ByteLen                            1 [string len]
+	// 42                   PrimValue                        "B" [string]
+	// 01                   Index                              1 [v.io/v23/vom.wireField.Type]
+	// 2a                   PrimValue                         42 [uint]
+	// e1                   Control                          End [v.io/v23/vom.wireField END]
+	// e1                   Control                          End [v.io/v23/vom.wireStruct END]
+	// DumpStatus{MsgId: -41, MsgLen: 55, MsgN: 55, Buf(21): "521300fff50100fff50100fff50100fff5e1e1e1e1"}
+	// 52                   MsgId                             41
+	//                      ValueMsg                          41 [v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA}}]
+	// 13                   MsgLen                            19
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleB.A]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleA.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// 01                   Index                              1 [v.io/v23/vdl/vdltest.XMutualCycleA.B]
+	// 00                   Index                              0 [v.io/v23/vdl/vdltest.XMutualCycleB.Data]
+	// fff5                 PrimValue                       -123 [int]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleA END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleB END]
+	// e1                   Control                          End [v.io/v23/vdl/vdltest.XMutualCycleA END]
+	// DumpStatus{MsgId: 41, MsgLen: 19, MsgN: 19, Value: v.io/v23/vdl/vdltest.XMutualCycleA struct{Data int64;B ?v.io/v23/vdl/vdltest.XMutualCycleB struct{Data int64;A ?v.io/v23/vdl/vdltest.XMutualCycleA}}{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123, A: nil}}}}}
+	{
+		`Full vdltest.XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}`,
+		vdltest.XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}},
+		0x81,
+		"81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1", "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1", "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
 }
diff --git a/vom/vomtest/internal/vomtestgen/doc.go b/vom/vomtest/internal/vomtestgen/doc.go
index e07b085..7b8dfab 100644
--- a/vom/vomtest/internal/vomtestgen/doc.go
+++ b/vom/vomtest/internal/vomtestgen/doc.go
@@ -14,17 +14,12 @@
 This tool does not run the vdl tool on the generated *.vdl files; you must do
 that yourself, typically via "jiri go install".
 
-Instead of running this tool manually, it is typically invoked via:
-
+Do not run this tool manually.  Instead invoke it via:
    $ jiri run go generate v.io/v23/vom/vomtest
 
 Usage:
    vomtestgen [flags]
 
-The vomtestgen flags are:
- -data81=data81_gen.vdl
-   Name of the generated data file for version 81.
-
 The global flags are:
  -metadata=<just specify -metadata to activate>
    Displays metadata for the program and exits.
diff --git a/vom/vomtest/internal/vomtestgen/main.go b/vom/vomtest/internal/vomtestgen/main.go
index bc58fd5..d641c39 100644
--- a/vom/vomtest/internal/vomtestgen/main.go
+++ b/vom/vomtest/internal/vomtestgen/main.go
@@ -36,26 +36,24 @@
 This tool does not run the vdl tool on the generated *.vdl files; you must do
 that yourself, typically via "jiri go install".
 
-Instead of running this tool manually, it is typically invoked via:
-
+Do not run this tool manually.  Instead invoke it via:
    $ jiri run go generate v.io/v23/vom/vomtest
 `,
 }
 
 func main() {
-	cmdGen.Flags.StringVar(&flagData81, "data81", "data81_gen.vdl", "Name of the generated data file for version 81.")
 	cmdline.Main(cmdGen)
 }
 
-var (
-	flagData81 string
+const (
+	dataFileSuffix = "_gen.vdl"
 )
 
 func runGen(_ *cmdline.Env, _ []string) error {
 	allCanonical := vdltest.AllPassFunc(func(e vdltest.Entry) bool {
 		return e.IsCanonical
 	})
-	writeFileVomTest(flagData81, "data81", vdltest.ToEntryValues(allCanonical))
+	writeFileVomTest("data81", vdltest.ToEntryValues(allCanonical))
 	return nil
 }
 
@@ -92,8 +90,9 @@
 `)
 }
 
-func writeFileVomTest(fileName, constName string, entries []vdltest.EntryValue) {
+func writeFileVomTest(constName string, entries []vdltest.EntryValue) {
 	const version vom.Version = vom.Version81
+	fileName := constName + dataFileSuffix
 	// We skip all random entries for now, since they may contain multiple set and
 	// map elements, which would cause non-deterministic output.
 	//
diff --git a/vom/vomtest/vomtest.vdl.go b/vom/vomtest/vomtest.vdl.go
index b0e386f..f857f53 100644
--- a/vom/vomtest/vomtest.vdl.go
+++ b/vom/vomtest/vomtest.vdl.go
@@ -8098,6 +8098,1015 @@
 		HexValue: "520500000102e1",
 	},
 	{
+		Name:     "Zero vdltest.VSelfCycle{}",
+		Value:    vdltest.VSelfCycle{},
+		Version:  129,
+		Hex:      "81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e15201e1",
+		HexType:  "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Value: vdltest.VSelfCycle{
+			Data: -123,
+			Next: &vdltest.VSelfCycle{
+				Data: -123,
+				Next: &vdltest.VSelfCycle{
+					Data: -123,
+					Next: &vdltest.VSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5653656c664379636c6501020004446174610109e100044e657874012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	{
+		Name:     "Zero vdltest.VMutualCycleB{}",
+		Value:    vdltest.VMutualCycleB{},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Value: vdltest.VMutualCycleB{
+			Data: -123,
+			A: &vdltest.VMutualCycleA{
+				Data: -123,
+				B: &vdltest.VMutualCycleB{
+					Data: -123,
+					A: &vdltest.VMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	{
+		Name:     "Zero vdltest.VMutualCycleA{}",
+		Value:    vdltest.VMutualCycleA{},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Value: vdltest.VMutualCycleA{
+			Data: -123,
+			B: &vdltest.VMutualCycleB{
+				Data: -123,
+				A: &vdltest.VMutualCycleA{
+					Data: -123,
+					B: &vdltest.VMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e564d757475616c4379636c654101020004446174610109e1000142012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	{
+		Name:     "Zero vdltest.VWireBoolNBool(false)",
+		Value:    vdltest.VNativeWireBoolNBool(false),
+		Version:  129,
+		Hex:      "815129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15200",
+		HexType:  "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "Full vdltest.VWireBoolNBool(true)",
+		Value: func() vdltest.VNativeWireBoolNBool {
+			var native vdltest.VNativeWireBoolNBool
+			wire := vdltest.VWireBoolNBool(true)
+			if err := vdltest.VWireBoolNBoolToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e15201",
+		HexType:  "5129000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1",
+		HexValue: "5201",
+	},
+	{
+		Name:     "Zero vdltest.VWireBoolNString(false)",
+		Value:    vdltest.VNativeWireBoolNString(""),
+		Version:  129,
+		Hex:      "81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15200",
+		HexType:  "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "Full vdltest.VWireBoolNString(true)",
+		Value: func() vdltest.VNativeWireBoolNString {
+			var native vdltest.VNativeWireBoolNString
+			wire := vdltest.VWireBoolNString(true)
+			if err := vdltest.VWireBoolNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e15201",
+		HexType:  "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1",
+		HexValue: "5201",
+	},
+	{
+		Name:     "Zero vdltest.VWireBoolNStruct(false)",
+		Value:    vdltest.VNativeWireBoolNStruct{},
+		Version:  129,
+		Hex:      "81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15200",
+		HexType:  "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "Full vdltest.VWireBoolNStruct(true)",
+		Value: func() vdltest.VNativeWireBoolNStruct {
+			var native vdltest.VNativeWireBoolNStruct
+			wire := vdltest.VWireBoolNStruct(true)
+			if err := vdltest.VWireBoolNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15201",
+		HexType:  "512b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e1",
+		HexValue: "5201",
+	},
+	{
+		Name:     "Zero vdltest.VWireIntNInt(0)",
+		Value:    vdltest.VNativeWireIntNInt(0),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15200",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "+Max vdltest.VWireIntNInt(2147483647)",
+		Value: func() vdltest.VNativeWireIntNInt {
+			var native vdltest.VNativeWireIntNInt
+			wire := vdltest.VWireIntNInt(2147483647)
+			if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcfffffffe",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "52fcfffffffe",
+	},
+	{
+		Name: "+Min vdltest.VWireIntNInt(1)",
+		Value: func() vdltest.VNativeWireIntNInt {
+			var native vdltest.VNativeWireIntNInt
+			wire := vdltest.VWireIntNInt(1)
+			if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15202",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "5202",
+	},
+	{
+		Name: "-Max vdltest.VWireIntNInt(-2147483648)",
+		Value: func() vdltest.VNativeWireIntNInt {
+			var native vdltest.VNativeWireIntNInt
+			wire := vdltest.VWireIntNInt(-2147483648)
+			if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fcffffffff",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "52fcffffffff",
+	},
+	{
+		Name: "-Min vdltest.VWireIntNInt(-1)",
+		Value: func() vdltest.VNativeWireIntNInt {
+			var native vdltest.VNativeWireIntNInt
+			wire := vdltest.VWireIntNInt(-1)
+			if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15201",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "5201",
+	},
+	{
+		Name: "Full vdltest.VWireIntNInt(-123)",
+		Value: func() vdltest.VNativeWireIntNInt {
+			var native vdltest.VNativeWireIntNInt
+			wire := vdltest.VWireIntNInt(-123)
+			if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e152fff5",
+		HexType:  "5127000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e1",
+		HexValue: "52fff5",
+	},
+	{
+		Name:     "Zero vdltest.VWireIntNString(0)",
+		Value:    vdltest.VNativeWireIntNString(""),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15200",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "+Max vdltest.VWireIntNString(2147483647)",
+		Value: func() vdltest.VNativeWireIntNString {
+			var native vdltest.VNativeWireIntNString
+			wire := vdltest.VWireIntNString(2147483647)
+			if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcfffffffe",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "52fcfffffffe",
+	},
+	{
+		Name: "+Min vdltest.VWireIntNString(1)",
+		Value: func() vdltest.VNativeWireIntNString {
+			var native vdltest.VNativeWireIntNString
+			wire := vdltest.VWireIntNString(1)
+			if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15202",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "5202",
+	},
+	{
+		Name: "-Max vdltest.VWireIntNString(-2147483648)",
+		Value: func() vdltest.VNativeWireIntNString {
+			var native vdltest.VNativeWireIntNString
+			wire := vdltest.VWireIntNString(-2147483648)
+			if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fcffffffff",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "52fcffffffff",
+	},
+	{
+		Name: "-Min vdltest.VWireIntNString(-1)",
+		Value: func() vdltest.VNativeWireIntNString {
+			var native vdltest.VNativeWireIntNString
+			wire := vdltest.VWireIntNString(-1)
+			if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15201",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "5201",
+	},
+	{
+		Name: "Full vdltest.VWireIntNString(-123)",
+		Value: func() vdltest.VNativeWireIntNString {
+			var native vdltest.VNativeWireIntNString
+			wire := vdltest.VWireIntNString(-123)
+			if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e152fff5",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e1",
+		HexValue: "52fff5",
+	},
+	{
+		Name:     "Zero vdltest.VWireIntNStruct(0)",
+		Value:    vdltest.VNativeWireIntNStruct{},
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15200",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "+Max vdltest.VWireIntNStruct(2147483647)",
+		Value: func() vdltest.VNativeWireIntNStruct {
+			var native vdltest.VNativeWireIntNStruct
+			wire := vdltest.VWireIntNStruct(2147483647)
+			if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcfffffffe",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "52fcfffffffe",
+	},
+	{
+		Name: "+Min vdltest.VWireIntNStruct(1)",
+		Value: func() vdltest.VNativeWireIntNStruct {
+			var native vdltest.VNativeWireIntNStruct
+			wire := vdltest.VWireIntNStruct(1)
+			if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15202",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "5202",
+	},
+	{
+		Name: "-Max vdltest.VWireIntNStruct(-2147483648)",
+		Value: func() vdltest.VNativeWireIntNStruct {
+			var native vdltest.VNativeWireIntNStruct
+			wire := vdltest.VWireIntNStruct(-2147483648)
+			if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fcffffffff",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "52fcffffffff",
+	},
+	{
+		Name: "-Min vdltest.VWireIntNStruct(-1)",
+		Value: func() vdltest.VNativeWireIntNStruct {
+			var native vdltest.VNativeWireIntNStruct
+			wire := vdltest.VWireIntNStruct(-1)
+			if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15201",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "5201",
+	},
+	{
+		Name: "Full vdltest.VWireIntNStruct(-123)",
+		Value: func() vdltest.VNativeWireIntNStruct {
+			var native vdltest.VNativeWireIntNStruct
+			wire := vdltest.VWireIntNStruct(-123)
+			if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e152fff5",
+		HexType:  "512a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e1",
+		HexValue: "52fff5",
+	},
+	{
+		Name:     "Zero vdltest.VWireStringNString(\"\")",
+		Value:    vdltest.VNativeWireStringNString(""),
+		Version:  129,
+		Hex:      "81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e15200",
+		HexType:  "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "Full vdltest.VWireStringNString(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Value: func() vdltest.VNativeWireStringNString {
+			var native vdltest.VNativeWireStringNString
+			wire := vdltest.VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+			if err := vdltest.VWireStringNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1",
+		HexValue: "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireStringNStruct(\"\")",
+		Value:    vdltest.VNativeWireStringNStruct{},
+		Version:  129,
+		Hex:      "81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e15200",
+		HexType:  "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1",
+		HexValue: "5200",
+	},
+	{
+		Name: "Full vdltest.VWireStringNStruct(\"abcdeΔΘΠΣΦ王普澤世界\")",
+		Value: func() vdltest.VNativeWireStringNStruct {
+			var native vdltest.VNativeWireStringNStruct
+			wire := vdltest.VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+			if err := vdltest.VWireStringNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1",
+		HexValue: "521e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireArrayNString{}",
+		Value:    vdltest.VNativeWireArrayNString(""),
+		Version:  129,
+		Hex:      "81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e152020000",
+		HexType:  "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireArrayNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireArrayNString {
+			var native vdltest.VNativeWireArrayNString
+			wire := vdltest.VWireArrayNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireArrayNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireArrayNStruct{}",
+		Value:    vdltest.VNativeWireArrayNStruct{},
+		Version:  129,
+		Hex:      "81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e152020000",
+		HexType:  "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireArrayNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireArrayNStruct {
+			var native vdltest.VNativeWireArrayNStruct
+			wire := vdltest.VWireArrayNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireArrayNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireListNString{}",
+		Value:    vdltest.VNativeWireListNString(""),
+		Version:  129,
+		Hex:      "81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1520100",
+		HexType:  "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1",
+		HexValue: "520100",
+	},
+	{
+		Name: "Full vdltest.VWireListNString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireListNString {
+			var native vdltest.VNativeWireListNString
+			wire := vdltest.VWireListNString{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireListNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1",
+		HexValue: "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireListNStruct{}",
+		Value:    vdltest.VNativeWireListNStruct{},
+		Version:  129,
+		Hex:      "81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1520100",
+		HexType:  "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1",
+		HexValue: "520100",
+	},
+	{
+		Name: "Full vdltest.VWireListNStruct{\"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireListNStruct {
+			var native vdltest.VNativeWireListNStruct
+			wire := vdltest.VWireListNStruct{
+				"abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireListNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "81512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e15220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "512b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e1",
+		HexValue: "5220011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNString{}",
+		Value:    vdltest.VNativeWireStructNString(""),
+		Version:  129,
+		Hex:      "815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15201e1",
+		HexType:  "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireStructNString {
+			var native vdltest.VNativeWireStructNString
+			wire := vdltest.VWireStructNString{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireStructNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNStruct{}",
+		Value:    vdltest.VNativeWireStructNStruct{},
+		Version:  129,
+		Hex:      "815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15201e1",
+		HexType:  "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireStructNStruct {
+			var native vdltest.VNativeWireStructNStruct
+			wire := vdltest.VWireStructNStruct{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireStructNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5133060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNArray{}",
+		Value:    vdltest.VNativeWireStructNArray{},
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15201e1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireStructNArray {
+			var native vdltest.VNativeWireStructNArray
+			wire := vdltest.VWireStructNArray{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireStructNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNSlice{}",
+		Value:    vdltest.VNativeWireStructNSlice(nil),
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15201e1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireStructNSlice {
+			var native vdltest.VNativeWireStructNSlice
+			wire := vdltest.VWireStructNSlice{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			}
+			if err := vdltest.VWireStructNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNPointer{}",
+		Value:    vdltest.VWireStructNPointer{},
+		Version:  129,
+		Hex:      "815134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15201e1",
+		HexType:  "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: vdltest.VWireStructNPointer{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		Version:  129,
+		Hex:      "815134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5134060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireStructNIface{}",
+		Value:    vdltest.VWireStructNIface{},
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15201e1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireStructNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: vdltest.VWireStructNIface{
+			X: "abcdeΔΘΠΣΦ王普澤世界",
+		},
+		Version:  129,
+		Hex:      "815132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e15221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e1",
+		HexValue: "5221001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNString{X: \"\"}",
+		Value:    vdltest.VNativeWireUnionNString(""),
+		Version:  129,
+		Hex:      "815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e152020000",
+		HexType:  "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireUnionNString{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireUnionNString {
+			var native vdltest.VNativeWireUnionNString
+			wire := vdltest.VWireUnionNString(vdltest.VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := vdltest.VWireUnionNStringToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNStruct{X: \"\"}",
+		Value:    vdltest.VNativeWireUnionNStruct{},
+		Version:  129,
+		Hex:      "815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e152020000",
+		HexType:  "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireUnionNStruct{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireUnionNStruct {
+			var native vdltest.VNativeWireUnionNStruct
+			wire := vdltest.VWireUnionNStruct(vdltest.VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := vdltest.VWireUnionNStructToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5132070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNArray{X: \"\"}",
+		Value:    vdltest.VNativeWireUnionNArray{},
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e152020000",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireUnionNArray{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireUnionNArray {
+			var native vdltest.VNativeWireUnionNArray
+			wire := vdltest.VWireUnionNArray(vdltest.VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := vdltest.VWireUnionNArrayToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNSlice{X: \"\"}",
+		Value:    vdltest.VNativeWireUnionNSlice(nil),
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e152020000",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name: "Full vdltest.VWireUnionNSlice{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value: func() vdltest.VNativeWireUnionNSlice {
+			var native vdltest.VNativeWireUnionNSlice
+			wire := vdltest.VWireUnionNSlice(vdltest.VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+			if err := vdltest.VWireUnionNSliceToNative(wire, &native); err != nil {
+				panic(err)
+			}
+			return native
+		}(),
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNPointer{X: \"\"}",
+		Value:    vdltest.VWireUnionNPointer(vdltest.VWireUnionNPointerX{}),
+		Version:  129,
+		Hex:      "815133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e152020000",
+		HexType:  "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name:     "Full vdltest.VWireUnionNPointer{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value:    vdltest.VWireUnionNPointer(vdltest.VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		Version:  129,
+		Hex:      "815133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5133070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name:     "Zero vdltest.VWireUnionNIface{X: \"\"}",
+		Value:    vdltest.VWireUnionNIface(vdltest.VWireUnionNIfaceX{}),
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e152020000",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e1",
+		HexValue: "52020000",
+	},
+	{
+		Name:     "Full vdltest.VWireUnionNIface{X: \"abcdeΔΘΠΣΦ王普澤世界\"}",
+		Value:    vdltest.VWireUnionNIface(vdltest.VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"}),
+		Version:  129,
+		Hex:      "815131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e15220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+		HexType:  "5131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e1",
+		HexValue: "5220001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c",
+	},
+	{
+		Name: "Zero vdltest.VWireAll{}",
+		Value: vdltest.VWireAll{
+			UnionNPointer: vdltest.VWireUnionNPointerX{},
+			UnionNIface:   vdltest.VWireUnionNIfaceX{},
+		},
+		Version:  129,
+		Hex:      "815329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e15201e1",
+		HexType:  "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.VWireAll{BoolNBool: true, BoolNString: true, BoolNStruct: true, IntNInt: -123, IntNString: -123, IntNStruct: -123, StringNString: \"abcdeΔΘΠΣΦ王普澤世界\", StringNStruct: \"abcdeΔΘΠΣΦ王普澤世界\", ArrayNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ArrayNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNString: {\"abcdeΔΘΠΣΦ王普澤世界\"}, ListNStruct: {\"abcdeΔΘΠΣΦ王普澤世界\"}, StructNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, StructNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNString: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNStruct: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNArray: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNSlice: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNPointer: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}, UnionNIface: {X: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
+		Value: vdltest.VWireAll{
+			BoolNBool: func() vdltest.VNativeWireBoolNBool {
+				var native vdltest.VNativeWireBoolNBool
+				wire := vdltest.VWireBoolNBool(true)
+				if err := vdltest.VWireBoolNBoolToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNString: func() vdltest.VNativeWireBoolNString {
+				var native vdltest.VNativeWireBoolNString
+				wire := vdltest.VWireBoolNString(true)
+				if err := vdltest.VWireBoolNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			BoolNStruct: func() vdltest.VNativeWireBoolNStruct {
+				var native vdltest.VNativeWireBoolNStruct
+				wire := vdltest.VWireBoolNStruct(true)
+				if err := vdltest.VWireBoolNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNInt: func() vdltest.VNativeWireIntNInt {
+				var native vdltest.VNativeWireIntNInt
+				wire := vdltest.VWireIntNInt(-123)
+				if err := vdltest.VWireIntNIntToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNString: func() vdltest.VNativeWireIntNString {
+				var native vdltest.VNativeWireIntNString
+				wire := vdltest.VWireIntNString(-123)
+				if err := vdltest.VWireIntNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			IntNStruct: func() vdltest.VNativeWireIntNStruct {
+				var native vdltest.VNativeWireIntNStruct
+				wire := vdltest.VWireIntNStruct(-123)
+				if err := vdltest.VWireIntNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNString: func() vdltest.VNativeWireStringNString {
+				var native vdltest.VNativeWireStringNString
+				wire := vdltest.VWireStringNString("abcdeΔΘΠΣΦ王普澤世界")
+				if err := vdltest.VWireStringNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StringNStruct: func() vdltest.VNativeWireStringNStruct {
+				var native vdltest.VNativeWireStringNStruct
+				wire := vdltest.VWireStringNStruct("abcdeΔΘΠΣΦ王普澤世界")
+				if err := vdltest.VWireStringNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNString: func() vdltest.VNativeWireArrayNString {
+				var native vdltest.VNativeWireArrayNString
+				wire := vdltest.VWireArrayNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireArrayNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ArrayNStruct: func() vdltest.VNativeWireArrayNStruct {
+				var native vdltest.VNativeWireArrayNStruct
+				wire := vdltest.VWireArrayNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireArrayNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNString: func() vdltest.VNativeWireListNString {
+				var native vdltest.VNativeWireListNString
+				wire := vdltest.VWireListNString{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireListNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			ListNStruct: func() vdltest.VNativeWireListNStruct {
+				var native vdltest.VNativeWireListNStruct
+				wire := vdltest.VWireListNStruct{
+					"abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireListNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNString: func() vdltest.VNativeWireStructNString {
+				var native vdltest.VNativeWireStructNString
+				wire := vdltest.VWireStructNString{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireStructNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNStruct: func() vdltest.VNativeWireStructNStruct {
+				var native vdltest.VNativeWireStructNStruct
+				wire := vdltest.VWireStructNStruct{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireStructNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNArray: func() vdltest.VNativeWireStructNArray {
+				var native vdltest.VNativeWireStructNArray
+				wire := vdltest.VWireStructNArray{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireStructNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNSlice: func() vdltest.VNativeWireStructNSlice {
+				var native vdltest.VNativeWireStructNSlice
+				wire := vdltest.VWireStructNSlice{
+					X: "abcdeΔΘΠΣΦ王普澤世界",
+				}
+				if err := vdltest.VWireStructNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			StructNPointer: vdltest.VWireStructNPointer{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			StructNIface: vdltest.VWireStructNIface{
+				X: "abcdeΔΘΠΣΦ王普澤世界",
+			},
+			UnionNString: func() vdltest.VNativeWireUnionNString {
+				var native vdltest.VNativeWireUnionNString
+				wire := vdltest.VWireUnionNString(vdltest.VWireUnionNStringX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := vdltest.VWireUnionNStringToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNStruct: func() vdltest.VNativeWireUnionNStruct {
+				var native vdltest.VNativeWireUnionNStruct
+				wire := vdltest.VWireUnionNStruct(vdltest.VWireUnionNStructX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := vdltest.VWireUnionNStructToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNArray: func() vdltest.VNativeWireUnionNArray {
+				var native vdltest.VNativeWireUnionNArray
+				wire := vdltest.VWireUnionNArray(vdltest.VWireUnionNArrayX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := vdltest.VWireUnionNArrayToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNSlice: func() vdltest.VNativeWireUnionNSlice {
+				var native vdltest.VNativeWireUnionNSlice
+				wire := vdltest.VWireUnionNSlice(vdltest.VWireUnionNSliceX{"abcdeΔΘΠΣΦ王普澤世界"})
+				if err := vdltest.VWireUnionNSliceToNative(wire, &native); err != nil {
+					panic(err)
+				}
+				return native
+			}(),
+			UnionNPointer: vdltest.VWireUnionNPointerX{"abcdeΔΘΠΣΦ王普澤世界"},
+			UnionNIface:   vdltest.VWireUnionNIfaceX{"abcdeΔΘΠΣΦ王普澤世界"},
+		},
+		Version:  129,
+		Hex:      "815329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e152fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c13001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c14001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c15001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c16001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c17001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+		HexType:  "5329000023762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e426f6f6c0101e1552b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e537472696e670101e1572b000025762e696f2f7632332f76646c2f76646c746573742e5657697265426f6f6c4e5374727563740101e15927000021762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e496e740108e15b2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e537472696e670108e15d2a000024762e696f2f7632332f76646c2f76646c746573742e5657697265496e744e5374727563740108e15f2d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e537472696e670103e1612d000027762e696f2f7632332f76646c2f76646c746573742e5657697265537472696e674e5374727563740103e1632e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e537472696e6701030201e1652e020026762e696f2f7632332f76646c2f76646c746573742e565769726541727261794e53747275637401030201e1672b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e537472696e670103e1692b030025762e696f2f7632332f76646c2f76646c746573742e56576972654c6973744e5374727563740103e16b33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e537472696e6701010001580103e1e16d33060027762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e53747275637401010001580103e1e16f32060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e417272617901010001580103e1e17132060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e536c69636501010001580103e1e17334060028762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e506f696e74657201010001580103e1e17532060026762e696f2f7632332f76646c2f76646c746573742e56576972655374727563744e496661636501010001580103e1e17732070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e537472696e6701010001580103e1e17932070026762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e53747275637401010001580103e1e17b31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e417272617901010001580103e1e17d31070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e536c69636501010001580103e1e17f33070027762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e506f696e74657201010001580103e1e1ff8131070025762e696f2f7632332f76646c2f76646c746573742e5657697265556e696f6e4e496661636501010001580103e1e151fe01af06001d762e696f2f7632332f76646c2f76646c746573742e5657697265416c6c01180009426f6f6c4e426f6f6c012ae1000b426f6f6c4e537472696e67012be1000b426f6f6c4e537472756374012ce10007496e744e496e74012de1000a496e744e537472696e67012ee1000a496e744e537472756374012fe1000d537472696e674e537472696e670130e1000d537472696e674e5374727563740131e1000c41727261794e537472696e670132e1000c41727261794e5374727563740133e1000b4c6973744e537472696e670134e1000b4c6973744e5374727563740135e1000d5374727563744e537472696e670136e1000d5374727563744e5374727563740137e1000c5374727563744e41727261790138e1000c5374727563744e536c6963650139e1000e5374727563744e506f696e746572013ae1000c5374727563744e4966616365013be1000c556e696f6e4e537472696e67013ce1000c556e696f6e4e537472756374013de1000b556e696f6e4e4172726179013ee1000b556e696f6e4e536c696365013fe1000d556e696f6e4e506f696e7465720140e1000b556e696f6e4e49666163650141e1e1",
+		HexValue: "52fe026600010101020103fff504fff505fff5061e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c071e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c08001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c09001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0a011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0b011e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c0c001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10d001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10e001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce10f001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce110001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce111001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce112001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c13001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c14001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c15001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c16001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958c17001e6162636465ce94ce98cea0cea3cea6e78e8be699aee6bea4e4b896e7958ce1",
+	},
+	{
 		Name:     "Zero vdltest.XBool(false)",
 		Value:    vdltest.XBool(false),
 		Version:  129,
@@ -15016,6 +16025,87 @@
 		HexType:  "592901001d762e696f2f7632332f76646c2f76646c746573742e58456e756d4263640103014201430144e1570404012de15531020029762e696f2f7632332f76646c2f76646c746573742e584172726179315f5365745f58456e756d426364012c0201e15344060037762e696f2f7632332f76646c2f76646c746573742e585374727563744465707468335f584172726179315f5365745f58456e756d426364010100024630012be1e1510408012ae1",
 		HexValue: "520500000102e1",
 	},
+	{
+		Name:     "Zero vdltest.XSelfCycle{}",
+		Value:    vdltest.XSelfCycle{},
+		Version:  129,
+		Hex:      "81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e15201e1",
+		HexType:  "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.XSelfCycle{Data: -123, Next: {Data: -123, Next: {Data: -123, Next: {Data: -123}}}}",
+		Value: vdltest.XSelfCycle{
+			Data: -123,
+			Next: &vdltest.XSelfCycle{
+				Data: -123,
+				Next: &vdltest.XSelfCycle{
+					Data: -123,
+					Next: &vdltest.XSelfCycle{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25304080129e1513706001f762e696f2f7632332f76646c2f76646c746573742e5853656c664379636c6501020004446174610109e100044e657874012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	{
+		Name:     "Zero vdltest.XMutualCycleB{}",
+		Value:    vdltest.XMutualCycleB{},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e15201e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.XMutualCycleB{Data: -123, A: {Data: -123, B: {Data: -123, A: {Data: -123}}}}",
+		Value: vdltest.XMutualCycleB{
+			Data: -123,
+			A: &vdltest.XMutualCycleA{
+				Data: -123,
+				B: &vdltest.XMutualCycleB{
+					Data: -123,
+					A: &vdltest.XMutualCycleA{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
+	{
+		Name:     "Zero vdltest.XMutualCycleA{}",
+		Value:    vdltest.XMutualCycleA{},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e15201e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1",
+		HexValue: "5201e1",
+	},
+	{
+		Name: "Full vdltest.XMutualCycleA{Data: -123, B: {Data: -123, A: {Data: -123, B: {Data: -123}}}}",
+		Value: vdltest.XMutualCycleA{
+			Data: -123,
+			B: &vdltest.XMutualCycleB{
+				Data: -123,
+				A: &vdltest.XMutualCycleA{
+					Data: -123,
+					B: &vdltest.XMutualCycleB{
+						Data: -123,
+					},
+				},
+			},
+		},
+		Version:  129,
+		Hex:      "81e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1521300fff50100fff50100fff50100fff5e1e1e1e1",
+		HexType:  "e25704080129e1e25537060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654201020004446174610109e1000141012ce1e1e2530408012be15137060022762e696f2f7632332f76646c2f76646c746573742e584d757475616c4379636c654101020004446174610109e1000142012ae1e1",
+		HexValue: "521300fff50100fff50100fff50100fff5e1e1e1e1",
+	},
 }
 
 var __VDLInitCalled bool
