// 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.

// This file was auto-generated by the vanadium vdl tool.
// Package: vdltest

package vdltest

import (
	"fmt"
	"reflect"
	"v.io/v23/vdl"
	"v.io/v23/verror"
)

var _ = __VDLInit() // Must be first; see __VDLInit comments for details.

//////////////////////////////////////////////////
// Type definitions

// vdlEntry represents a test entry, which contains a target and source value.
// Each test converts the source value to the type of the target value, and
// either passes or fails.
//
// An entry may either be canonical or not.  For a given canonical entry C,
// C.Target==C.Source always holds, and in addition, C.Source is the canonical
// representation of the value.
type vdlEntry struct {
	IsCanonical bool
	Label       string      // Label describes the entry, e.g. Full, Random...
	TargetLabel string      // TargetLabel describes the Target value
	Target      interface{} // Target value for conversion test
	SourceLabel string      // SourceLabel describes the Source value
	Source      interface{} // Source value for conversion test
}

func (vdlEntry) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.vdlEntry"`
}) {
}

func (x vdlEntry) VDLIsZero() bool {
	return x == vdlEntry{}
}

func (x vdlEntry) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_1); err != nil {
		return err
	}
	if x.IsCanonical {
		if err := enc.NextFieldValueBool(0, vdl.BoolType, x.IsCanonical); err != nil {
			return err
		}
	}
	if x.Label != "" {
		if err := enc.NextFieldValueString(1, vdl.StringType, x.Label); err != nil {
			return err
		}
	}
	if x.TargetLabel != "" {
		if err := enc.NextFieldValueString(2, vdl.StringType, x.TargetLabel); err != nil {
			return err
		}
	}
	if x.Target != nil {
		if err := enc.NextField(3); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.Target); err != nil {
			return err
		}
	}
	if x.SourceLabel != "" {
		if err := enc.NextFieldValueString(4, vdl.StringType, x.SourceLabel); err != nil {
			return err
		}
	}
	if x.Source != nil {
		if err := enc.NextField(5); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.Source); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *vdlEntry) VDLRead(dec vdl.Decoder) error {
	*x = vdlEntry{}
	if err := dec.StartValue(__VDLType_struct_1); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_1 {
			index = __VDLType_struct_1.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				x.IsCanonical = value
			}
		case 1:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.Label = value
			}
		case 2:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.TargetLabel = value
			}
		case 3:
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.Target = readAny
		case 4:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.SourceLabel = value
			}
		case 5:
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.Source = readAny
		}
	}
}

type VBool bool

func (VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VBool"`
}) {
}

func (x VBool) VDLIsZero() bool {
	return bool(!x)
}

func (x VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueBool(__VDLType_bool_2, bool(x)); err != nil {
		return err
	}
	return nil
}

func (x *VBool) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueBool(); {
	case err != nil:
		return err
	default:
		*x = VBool(value)
	}
	return nil
}

type VString string

func (VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VString"`
}) {
}

func (x VString) VDLIsZero() bool {
	return x == ""
}

func (x VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueString(__VDLType_string_3, string(x)); err != nil {
		return err
	}
	return nil
}

func (x *VString) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueString(); {
	case err != nil:
		return err
	default:
		*x = VString(value)
	}
	return nil
}

type VByte byte

func (VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VByte"`
}) {
}

func (x VByte) VDLIsZero() bool {
	return x == 0
}

func (x VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueUint(__VDLType_byte_4, uint64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VByte) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueUint(8); {
	case err != nil:
		return err
	default:
		*x = VByte(value)
	}
	return nil
}

type VEnumAbc int

const (
	VEnumAbcA VEnumAbc = iota
	VEnumAbcB
	VEnumAbcC
)

// VEnumAbcAll holds all labels for VEnumAbc.
var VEnumAbcAll = [...]VEnumAbc{VEnumAbcA, VEnumAbcB, VEnumAbcC}

// VEnumAbcFromString creates a VEnumAbc from a string label.
func VEnumAbcFromString(label string) (x VEnumAbc, err error) {
	err = x.Set(label)
	return
}

// Set assigns label to x.
func (x *VEnumAbc) Set(label string) error {
	switch label {
	case "A", "a":
		*x = VEnumAbcA
		return nil
	case "B", "b":
		*x = VEnumAbcB
		return nil
	case "C", "c":
		*x = VEnumAbcC
		return nil
	}
	*x = -1
	return fmt.Errorf("unknown label %q in vdltest.VEnumAbc", label)
}

// String returns the string label of x.
func (x VEnumAbc) String() string {
	switch x {
	case VEnumAbcA:
		return "A"
	case VEnumAbcB:
		return "B"
	case VEnumAbcC:
		return "C"
	}
	return ""
}

func (VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VEnumAbc"`
	Enum struct{ A, B, C string }
}) {
}

func (x VEnumAbc) VDLIsZero() bool {
	return x == VEnumAbcA
}

func (x VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueString(__VDLType_enum_5, x.String()); err != nil {
		return err
	}
	return nil
}

func (x *VEnumAbc) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueString(); {
	case err != nil:
		return err
	default:
		if err := x.Set(value); err != nil {
			return err
		}
	}
	return nil
}

type VEnumBcd int

const (
	VEnumBcdB VEnumBcd = iota
	VEnumBcdC
	VEnumBcdD
)

// VEnumBcdAll holds all labels for VEnumBcd.
var VEnumBcdAll = [...]VEnumBcd{VEnumBcdB, VEnumBcdC, VEnumBcdD}

// VEnumBcdFromString creates a VEnumBcd from a string label.
func VEnumBcdFromString(label string) (x VEnumBcd, err error) {
	err = x.Set(label)
	return
}

// Set assigns label to x.
func (x *VEnumBcd) Set(label string) error {
	switch label {
	case "B", "b":
		*x = VEnumBcdB
		return nil
	case "C", "c":
		*x = VEnumBcdC
		return nil
	case "D", "d":
		*x = VEnumBcdD
		return nil
	}
	*x = -1
	return fmt.Errorf("unknown label %q in vdltest.VEnumBcd", label)
}

// String returns the string label of x.
func (x VEnumBcd) String() string {
	switch x {
	case VEnumBcdB:
		return "B"
	case VEnumBcdC:
		return "C"
	case VEnumBcdD:
		return "D"
	}
	return ""
}

func (VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VEnumBcd"`
	Enum struct{ B, C, D string }
}) {
}

func (x VEnumBcd) VDLIsZero() bool {
	return x == VEnumBcdB
}

func (x VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueString(__VDLType_enum_6, x.String()); err != nil {
		return err
	}
	return nil
}

func (x *VEnumBcd) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueString(); {
	case err != nil:
		return err
	default:
		if err := x.Set(value); err != nil {
			return err
		}
	}
	return nil
}

type VStructEmpty struct {
}

func (VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructEmpty"`
}) {
}

func (x VStructEmpty) VDLIsZero() bool {
	return x == VStructEmpty{}
}

func (x VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_7); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructEmpty{}
	if err := dec.StartValue(__VDLType_struct_7); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_7 {
			index = __VDLType_struct_7.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		}
	}
}

type VNamedError struct {
	Id  string
	Msg string
}

func (VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VNamedError"`
}) {
}

func (x VNamedError) VDLIsZero() bool {
	return x == VNamedError{}
}

func (x VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_8); err != nil {
		return err
	}
	if x.Id != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.Id); err != nil {
			return err
		}
	}
	if x.Msg != "" {
		if err := enc.NextFieldValueString(1, vdl.StringType, x.Msg); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VNamedError{}
	if err := dec.StartValue(__VDLType_struct_8); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_8 {
			index = __VDLType_struct_8.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.Id = value
			}
		case 1:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.Msg = value
			}
		}
	}
}

type VUint16 uint16

func (VUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VUint16"`
}) {
}

func (x VUint16) VDLIsZero() bool {
	return x == 0
}

func (x VUint16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueUint(__VDLType_uint16_9, uint64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VUint16) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueUint(16); {
	case err != nil:
		return err
	default:
		*x = VUint16(value)
	}
	return nil
}

type VUint32 uint32

func (VUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VUint32"`
}) {
}

func (x VUint32) VDLIsZero() bool {
	return x == 0
}

func (x VUint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueUint(__VDLType_uint32_10, uint64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VUint32) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueUint(32); {
	case err != nil:
		return err
	default:
		*x = VUint32(value)
	}
	return nil
}

type VUint64 uint64

func (VUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VUint64"`
}) {
}

func (x VUint64) VDLIsZero() bool {
	return x == 0
}

func (x VUint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueUint(__VDLType_uint64_11, uint64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VUint64) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueUint(64); {
	case err != nil:
		return err
	default:
		*x = VUint64(value)
	}
	return nil
}

type VInt8 int8

func (VInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VInt8"`
}) {
}

func (x VInt8) VDLIsZero() bool {
	return x == 0
}

func (x VInt8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueInt(__VDLType_int8_12, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VInt8) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(8); {
	case err != nil:
		return err
	default:
		*x = VInt8(value)
	}
	return nil
}

type VInt16 int16

func (VInt16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VInt16"`
}) {
}

func (x VInt16) VDLIsZero() bool {
	return x == 0
}

func (x VInt16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueInt(__VDLType_int16_13, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VInt16) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(16); {
	case err != nil:
		return err
	default:
		*x = VInt16(value)
	}
	return nil
}

type VInt32 int32

func (VInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VInt32"`
}) {
}

func (x VInt32) VDLIsZero() bool {
	return x == 0
}

func (x VInt32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueInt(__VDLType_int32_14, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VInt32) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(32); {
	case err != nil:
		return err
	default:
		*x = VInt32(value)
	}
	return nil
}

type VInt64 int64

func (VInt64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VInt64"`
}) {
}

func (x VInt64) VDLIsZero() bool {
	return x == 0
}

func (x VInt64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueInt(__VDLType_int64_15, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VInt64) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(64); {
	case err != nil:
		return err
	default:
		*x = VInt64(value)
	}
	return nil
}

type VFloat32 float32

func (VFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VFloat32"`
}) {
}

func (x VFloat32) VDLIsZero() bool {
	return x == 0
}

func (x VFloat32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueFloat(__VDLType_float32_16, float64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VFloat32) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueFloat(32); {
	case err != nil:
		return err
	default:
		*x = VFloat32(value)
	}
	return nil
}

type VFloat64 float64

func (VFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VFloat64"`
}) {
}

func (x VFloat64) VDLIsZero() bool {
	return x == 0
}

func (x VFloat64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueFloat(__VDLType_float64_17, float64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VFloat64) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueFloat(64); {
	case err != nil:
		return err
	default:
		*x = VFloat64(value)
	}
	return nil
}

type VArray3_Any [3]interface{}

func (VArray3_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_Any"`
}) {
}

func (x VArray3_Any) VDLIsZero() bool {
	return x == VArray3_Any{}
}

func (x VArray3_Any) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_18); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := vdl.Write(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Any) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_18); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x[index] = readAny
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_Bool [3]bool

func (VArray3_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_Bool"`
}) {
}

func (x VArray3_Bool) VDLIsZero() bool {
	return x == VArray3_Bool{}
}

func (x VArray3_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_19); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueBool(vdl.BoolType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_19); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, elem, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_VBool [3]VBool

func (VArray3_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_VBool"`
}) {
}

func (x VArray3_VBool) VDLIsZero() bool {
	return x == VArray3_VBool{}
}

func (x VArray3_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_20); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_20); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, elem, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			x[index] = VBool(elem)
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_String [1]string

func (VArray1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_String"`
}) {
}

func (x VArray1_String) VDLIsZero() bool {
	return x == VArray1_String{}
}

func (x VArray1_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_21); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_21); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_VString [3]VString

func (VArray3_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_VString"`
}) {
}

func (x VArray3_VString) VDLIsZero() bool {
	return x == VArray3_VString{}
}

func (x VArray3_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_22); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_string_3, string(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_22); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			x[index] = VString(elem)
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray2_TypeObject [2]*vdl.Type

func (VArray2_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_TypeObject"`
}) {
}

func (x VArray2_TypeObject) VDLIsZero() bool {
	for _, elem := range x {
		if elem != nil && elem != vdl.AnyType {
			return false
		}
	}
	return true
}

func (x VArray2_TypeObject) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_23); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueTypeObject(elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_TypeObject) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_23); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, elem, err := dec.NextEntryValueTypeObject(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_Byte [1]byte

func (VArray1_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_Byte"`
}) {
}

func (x VArray1_Byte) VDLIsZero() bool {
	return x == VArray1_Byte{}
}

func (x VArray1_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueBytes(__VDLType_array_24, x[:]); err != nil {
		return err
	}
	return nil
}

func (x *VArray1_Byte) VDLRead(dec vdl.Decoder) error {
	bytes := x[:]
	if err := dec.ReadValueBytes(1, &bytes); err != nil {
		return err
	}
	return nil
}

type VArray2_VByte [2]VByte

func (VArray2_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VByte"`
}) {
}

func (x VArray2_VByte) VDLIsZero() bool {
	return x == VArray2_VByte{}
}

func (x VArray2_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueBytes(__VDLType_array_25, reflect.ValueOf(x[:]).Bytes()); err != nil {
		return err
	}
	return nil
}

func (x *VArray2_VByte) VDLRead(dec vdl.Decoder) error {
	bytes := reflect.ValueOf(x[:]).Bytes()
	if err := dec.ReadValueBytes(2, &bytes); err != nil {
		return err
	}
	return nil
}

type VArray2_VEnumAbc [2]VEnumAbc

func (VArray2_VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VEnumAbc"`
}) {
}

func (x VArray2_VEnumAbc) VDLIsZero() bool {
	return x == VArray2_VEnumAbc{}
}

func (x VArray2_VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_26); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_5, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_26); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := x[index].Set(elem); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray2_VEnumBcd [2]VEnumBcd

func (VArray2_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VEnumBcd"`
}) {
}

func (x VArray2_VEnumBcd) VDLIsZero() bool {
	return x == VArray2_VEnumBcd{}
}

func (x VArray2_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_27); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_6, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_27); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := x[index].Set(elem); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_VStructEmpty [1]VStructEmpty

func (VArray1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_VStructEmpty"`
}) {
}

func (x VArray1_VStructEmpty) VDLIsZero() bool {
	return x == VArray1_VStructEmpty{}
}

func (x VArray1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_28); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_28); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_VNamedError [1]VNamedError

func (VArray1_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_VNamedError"`
}) {
}

func (x VArray1_VNamedError) VDLIsZero() bool {
	return x == VArray1_VNamedError{}
}

func (x VArray1_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_29); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_VNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_29); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray2_Error [2]error

func (VArray2_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_Error"`
}) {
}

func (x VArray2_Error) VDLIsZero() bool {
	return x == VArray2_Error{}
}

func (x VArray2_Error) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_30); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_Error) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_30); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := verror.VDLRead(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_Uint32 [1]uint32

func (VArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_Uint32"`
}) {
}

func (x VArray1_Uint32) VDLIsZero() bool {
	return x == VArray1_Uint32{}
}

func (x VArray1_Uint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_31); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueUint(vdl.Uint32Type, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_Uint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_31); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, elem, err := dec.NextEntryValueUint(32); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			x[index] = uint32(elem)
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_Uint64 [3]uint64

func (VArray3_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_Uint64"`
}) {
}

func (x VArray3_Uint64) VDLIsZero() bool {
	return x == VArray3_Uint64{}
}

func (x VArray3_Uint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_32); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueUint(vdl.Uint64Type, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Uint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_32); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, elem, err := dec.NextEntryValueUint(64); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_Int64 [3]int64

func (VArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_Int64"`
}) {
}

func (x VArray3_Int64) VDLIsZero() bool {
	return x == VArray3_Int64{}
}

func (x VArray3_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_33); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueInt(vdl.Int64Type, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_33); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, elem, err := dec.NextEntryValueInt(64); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_OptVStructEmpty [1]*VStructEmpty

func (VArray1_OptVStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_OptVStructEmpty"`
}) {
}

func (x VArray1_OptVStructEmpty) VDLIsZero() bool {
	return x == VArray1_OptVStructEmpty{}
}

func (x VArray1_OptVStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_34); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_35); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_OptVStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_34); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := dec.StartValue(__VDLType_optional_35); err != nil {
				return err
			}
			if dec.IsNil() {
				x[index] = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x[index] = new(VStructEmpty)
				dec.IgnoreNextStartValue()
				if err := x[index].VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_OptVNamedError [3]*VNamedError

func (VArray3_OptVNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_OptVNamedError"`
}) {
}

func (x VArray3_OptVNamedError) VDLIsZero() bool {
	return x == VArray3_OptVNamedError{}
}

func (x VArray3_OptVNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_36); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_37); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_OptVNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_36); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			if err := dec.StartValue(__VDLType_optional_37); err != nil {
				return err
			}
			if dec.IsNil() {
				x[index] = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x[index] = new(VNamedError)
				dec.IgnoreNextStartValue()
				if err := x[index].VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VList_Any []interface{}

func (VList_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_Any"`
}) {
}

func (x VList_Any) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_Any) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_38); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := vdl.Write(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_Any) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_38); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_Any, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem interface{}
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			elem = readAny
			*x = append(*x, elem)
		}
	}
}

type VList_Bool []bool

func (VList_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_Bool"`
}) {
}

func (x VList_Bool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_39); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueBool(vdl.BoolType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_39); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_Bool, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, elem)
		}
	}
}

type VList_VBool []VBool

func (VList_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VBool"`
}) {
}

func (x VList_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_40); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_40); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VBool, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VBool(elem))
		}
	}
}

type VList_String []string

func (VList_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_String"`
}) {
}

func (x VList_String) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_41); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_41); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_String, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, elem)
		}
	}
}

type VList_VString []VString

func (VList_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VString"`
}) {
}

func (x VList_VString) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_42); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_string_3, string(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_42); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VString, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VString(elem))
		}
	}
}

type VList_TypeObject []*vdl.Type

func (VList_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_TypeObject"`
}) {
}

func (x VList_TypeObject) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_TypeObject) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_43); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueTypeObject(elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_TypeObject) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_43); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_TypeObject, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueTypeObject(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, elem)
		}
	}
}

type VList_Byte []byte

func (VList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_Byte"`
}) {
}

func (x VList_Byte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueBytes(__VDLType_list_44, []byte(x)); err != nil {
		return err
	}
	return nil
}

func (x *VList_Byte) VDLRead(dec vdl.Decoder) error {
	var bytes []byte
	if err := dec.ReadValueBytes(-1, &bytes); err != nil {
		return err
	}
	*x = bytes
	return nil
}

type VList_VByte []VByte

func (VList_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VByte"`
}) {
}

func (x VList_VByte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.WriteValueBytes(__VDLType_list_45, reflect.ValueOf(x).Bytes()); err != nil {
		return err
	}
	return nil
}

func (x *VList_VByte) VDLRead(dec vdl.Decoder) error {
	var bytes []byte
	if err := dec.ReadValueBytes(-1, &bytes); err != nil {
		return err
	}
	reflect.ValueOf(x).Elem().SetBytes(bytes)
	return nil
}

type VList_VEnumAbc []VEnumAbc

func (VList_VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VEnumAbc"`
}) {
}

func (x VList_VEnumAbc) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_46); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_5, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_46); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VEnumAbc, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var enum VEnumAbc
			if err := enum.Set(elem); err != nil {
				return err
			}
			*x = append(*x, enum)
		}
	}
}

type VList_VEnumBcd []VEnumBcd

func (VList_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VEnumBcd"`
}) {
}

func (x VList_VEnumBcd) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_47); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_6, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_47); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VEnumBcd, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var enum VEnumBcd
			if err := enum.Set(elem); err != nil {
				return err
			}
			*x = append(*x, enum)
		}
	}
}

type VList_VStructEmpty []VStructEmpty

func (VList_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VStructEmpty"`
}) {
}

func (x VList_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_48); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_48); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VStructEmpty, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VStructEmpty
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VNamedError []VNamedError

func (VList_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VNamedError"`
}) {
}

func (x VList_VNamedError) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_49); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_49); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VNamedError, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VNamedError
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_Error []error

func (VList_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_Error"`
}) {
}

func (x VList_Error) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_Error) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_50); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_Error) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_50); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_Error, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem error
			if err := verror.VDLRead(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VUint16 []VUint16

func (VList_VUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VUint16"`
}) {
}

func (x VList_VUint16) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VUint16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_51); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueUint(__VDLType_uint16_9, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VUint16) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_51); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VUint16, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueUint(16); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VUint16(elem))
		}
	}
}

type VList_VFloat32 []VFloat32

func (VList_VFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VFloat32"`
}) {
}

func (x VList_VFloat32) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VFloat32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_52); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueFloat(__VDLType_float32_16, float64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VFloat32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_52); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VFloat32, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueFloat(32); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VFloat32(elem))
		}
	}
}

type VList_VFloat64 []VFloat64

func (VList_VFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VFloat64"`
}) {
}

func (x VList_VFloat64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VFloat64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_53); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueFloat(__VDLType_float64_17, float64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VFloat64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_53); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VFloat64, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueFloat(64); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VFloat64(elem))
		}
	}
}

type VList_OptVStructEmpty []*VStructEmpty

func (VList_OptVStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_OptVStructEmpty"`
}) {
}

func (x VList_OptVStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_OptVStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_54); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_35); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_OptVStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_54); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_OptVStructEmpty, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem *VStructEmpty
			if err := dec.StartValue(__VDLType_optional_35); err != nil {
				return err
			}
			if dec.IsNil() {
				elem = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				elem = new(VStructEmpty)
				dec.IgnoreNextStartValue()
				if err := elem.VDLRead(dec); err != nil {
					return err
				}
			}
			*x = append(*x, elem)
		}
	}
}

type VList_OptVNamedError []*VNamedError

func (VList_OptVNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_OptVNamedError"`
}) {
}

func (x VList_OptVNamedError) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_OptVNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_55); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_37); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_OptVNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_55); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_OptVNamedError, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem *VNamedError
			if err := dec.StartValue(__VDLType_optional_37); err != nil {
				return err
			}
			if dec.IsNil() {
				elem = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				elem = new(VNamedError)
				dec.IgnoreNextStartValue()
				if err := elem.VDLRead(dec); err != nil {
					return err
				}
			}
			*x = append(*x, elem)
		}
	}
}

type VSet_Bool map[bool]struct{}

func (VSet_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_Bool"`
}) {
}

func (x VSet_Bool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_56); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueBool(vdl.BoolType, key); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_56); err != nil {
		return err
	}
	var tmpMap VSet_Bool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Bool, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_Bool)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VBool map[VBool]struct{}

func (VSet_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VBool"`
}) {
}

func (x VSet_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_57); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_57); err != nil {
		return err
	}
	var tmpMap VSet_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VBool, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_VBool)
			}
			tmpMap[VBool(key)] = struct{}{}
		}
	}
}

type VSet_String map[string]struct{}

func (VSet_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_String"`
}) {
}

func (x VSet_String) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_58); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueString(vdl.StringType, key); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_58); err != nil {
		return err
	}
	var tmpMap VSet_String
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_String, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_String)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VString map[VString]struct{}

func (VSet_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VString"`
}) {
}

func (x VSet_VString) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_59); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueString(__VDLType_string_3, string(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_59); err != nil {
		return err
	}
	var tmpMap VSet_VString
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VString, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_VString)
			}
			tmpMap[VString(key)] = struct{}{}
		}
	}
}

type VSet_Byte map[byte]struct{}

func (VSet_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_Byte"`
}) {
}

func (x VSet_Byte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_60); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueUint(vdl.ByteType, uint64(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_60); err != nil {
		return err
	}
	var tmpMap VSet_Byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Byte, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(8); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_Byte)
			}
			tmpMap[byte(key)] = struct{}{}
		}
	}
}

type VSet_VByte map[VByte]struct{}

func (VSet_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VByte"`
}) {
}

func (x VSet_VByte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_61); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueUint(__VDLType_byte_4, uint64(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_61); err != nil {
		return err
	}
	var tmpMap VSet_VByte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VByte, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(8); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_VByte)
			}
			tmpMap[VByte(key)] = struct{}{}
		}
	}
}

type VSet_VEnumAbc map[VEnumAbc]struct{}

func (VSet_VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VEnumAbc"`
}) {
}

func (x VSet_VEnumAbc) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_62); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_5, key.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_62); err != nil {
		return err
	}
	var tmpMap VSet_VEnumAbc
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VEnumAbc, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var keyEnum VEnumAbc
			if err := keyEnum.Set(key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VEnumAbc)
			}
			tmpMap[keyEnum] = struct{}{}
		}
	}
}

type VSet_VEnumBcd map[VEnumBcd]struct{}

func (VSet_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VEnumBcd"`
}) {
}

func (x VSet_VEnumBcd) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_63); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_6, key.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_63); err != nil {
		return err
	}
	var tmpMap VSet_VEnumBcd
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VEnumBcd, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var keyEnum VEnumBcd
			if err := keyEnum.Set(key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VEnumBcd)
			}
			tmpMap[keyEnum] = struct{}{}
		}
	}
}

type VSet_VStructEmpty map[VStructEmpty]struct{}

func (VSet_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VStructEmpty"`
}) {
}

func (x VSet_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_64); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_64); err != nil {
		return err
	}
	var tmpMap VSet_VStructEmpty
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VStructEmpty, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructEmpty
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VStructEmpty)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VNamedError map[VNamedError]struct{}

func (VSet_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VNamedError"`
}) {
}

func (x VSet_VNamedError) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_65); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_65); err != nil {
		return err
	}
	var tmpMap VSet_VNamedError
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VNamedError, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VNamedError
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VNamedError)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_Uint64 map[uint64]struct{}

func (VSet_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_Uint64"`
}) {
}

func (x VSet_Uint64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_Uint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_66); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueUint(vdl.Uint64Type, key); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Uint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_66); err != nil {
		return err
	}
	var tmpMap VSet_Uint64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Uint64, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(64); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_Uint64)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VUint64 map[VUint64]struct{}

func (VSet_VUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VUint64"`
}) {
}

func (x VSet_VUint64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VUint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_67); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueUint(__VDLType_uint64_11, uint64(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VUint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_67); err != nil {
		return err
	}
	var tmpMap VSet_VUint64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VUint64, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(64); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_VUint64)
			}
			tmpMap[VUint64(key)] = struct{}{}
		}
	}
}

type VSet_Float32 map[float32]struct{}

func (VSet_Float32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_Float32"`
}) {
}

func (x VSet_Float32) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_Float32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_68); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueFloat(vdl.Float32Type, float64(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Float32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_68); err != nil {
		return err
	}
	var tmpMap VSet_Float32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Float32, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueFloat(32); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(VSet_Float32)
			}
			tmpMap[float32(key)] = struct{}{}
		}
	}
}

type VMap_Bool_Bool map[bool]bool

func (VMap_Bool_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_Bool_Bool"`
}) {
}

func (x VMap_Bool_Bool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_Bool_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_69); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueBool(vdl.BoolType, key); err != nil {
			return err
		}
		if err := enc.WriteValueBool(vdl.BoolType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Bool_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_69); err != nil {
		return err
	}
	var tmpMap VMap_Bool_Bool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Bool_Bool, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem bool
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				elem = value
			}
			if tmpMap == nil {
				tmpMap = make(VMap_Bool_Bool)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VBool_VBool map[VBool]VBool

func (VMap_VBool_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VBool_VBool"`
}) {
}

func (x VMap_VBool_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VBool_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_70); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(key)); err != nil {
			return err
		}
		if err := enc.WriteValueBool(__VDLType_bool_2, bool(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VBool_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_70); err != nil {
		return err
	}
	var tmpMap VMap_VBool_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VBool_VBool, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VBool
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				elem = VBool(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VBool_VBool)
			}
			tmpMap[VBool(key)] = elem
		}
	}
}

type VMap_String_String map[string]string

func (VMap_String_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_String_String"`
}) {
}

func (x VMap_String_String) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_String_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_71); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, key); err != nil {
			return err
		}
		if err := enc.WriteValueString(vdl.StringType, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_String_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_71); err != nil {
		return err
	}
	var tmpMap VMap_String_String
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_String_String, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem string
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				elem = value
			}
			if tmpMap == nil {
				tmpMap = make(VMap_String_String)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VString_VString map[VString]VString

func (VMap_VString_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VString_VString"`
}) {
}

func (x VMap_VString_VString) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VString_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_72); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_string_3, string(key)); err != nil {
			return err
		}
		if err := enc.WriteValueString(__VDLType_string_3, string(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VString_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_72); err != nil {
		return err
	}
	var tmpMap VMap_VString_VString
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VString_VString, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VString
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				elem = VString(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VString_VString)
			}
			tmpMap[VString(key)] = elem
		}
	}
}

type VMap_Byte_Byte map[byte]byte

func (VMap_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_Byte_Byte"`
}) {
}

func (x VMap_Byte_Byte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_Byte_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_73); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueUint(vdl.ByteType, uint64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueUint(vdl.ByteType, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_73); err != nil {
		return err
	}
	var tmpMap VMap_Byte_Byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Byte_Byte, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(8); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem byte
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				elem = byte(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_Byte_Byte)
			}
			tmpMap[byte(key)] = elem
		}
	}
}

type VMap_VByte_VByte map[VByte]VByte

func (VMap_VByte_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VByte_VByte"`
}) {
}

func (x VMap_VByte_VByte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VByte_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_74); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueUint(__VDLType_byte_4, uint64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueUint(__VDLType_byte_4, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VByte_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_74); err != nil {
		return err
	}
	var tmpMap VMap_VByte_VByte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VByte_VByte, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(8); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VByte
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				elem = VByte(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VByte_VByte)
			}
			tmpMap[VByte(key)] = elem
		}
	}
}

type VMap_VEnumAbc_VEnumAbc map[VEnumAbc]VEnumAbc

func (VMap_VEnumAbc_VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VEnumAbc_VEnumAbc"`
}) {
}

func (x VMap_VEnumAbc_VEnumAbc) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VEnumAbc_VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_75); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_5, key.String()); err != nil {
			return err
		}
		if err := enc.WriteValueString(__VDLType_enum_5, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VEnumAbc_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_75); err != nil {
		return err
	}
	var tmpMap VMap_VEnumAbc_VEnumAbc
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VEnumAbc_VEnumAbc, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var keyEnum VEnumAbc
			if err := keyEnum.Set(key); err != nil {
				return err
			}
			var elem VEnumAbc
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := elem.Set(value); err != nil {
					return err
				}
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VEnumAbc_VEnumAbc)
			}
			tmpMap[keyEnum] = elem
		}
	}
}

type VMap_VEnumBcd_VEnumBcd map[VEnumBcd]VEnumBcd

func (VMap_VEnumBcd_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VEnumBcd_VEnumBcd"`
}) {
}

func (x VMap_VEnumBcd_VEnumBcd) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VEnumBcd_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_76); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_6, key.String()); err != nil {
			return err
		}
		if err := enc.WriteValueString(__VDLType_enum_6, elem.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VEnumBcd_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_76); err != nil {
		return err
	}
	var tmpMap VMap_VEnumBcd_VEnumBcd
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VEnumBcd_VEnumBcd, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var keyEnum VEnumBcd
			if err := keyEnum.Set(key); err != nil {
				return err
			}
			var elem VEnumBcd
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := elem.Set(value); err != nil {
					return err
				}
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VEnumBcd_VEnumBcd)
			}
			tmpMap[keyEnum] = elem
		}
	}
}

type VMap_VStructEmpty_VStructEmpty map[VStructEmpty]VStructEmpty

func (VMap_VStructEmpty_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VStructEmpty_VStructEmpty"`
}) {
}

func (x VMap_VStructEmpty_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VStructEmpty_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_77); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VStructEmpty_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_77); err != nil {
		return err
	}
	var tmpMap VMap_VStructEmpty_VStructEmpty
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VStructEmpty_VStructEmpty, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructEmpty
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VStructEmpty
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VStructEmpty_VStructEmpty)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VNamedError_VNamedError map[VNamedError]VNamedError

func (VMap_VNamedError_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VNamedError_VNamedError"`
}) {
}

func (x VMap_VNamedError_VNamedError) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VNamedError_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_78); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VNamedError_VNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_78); err != nil {
		return err
	}
	var tmpMap VMap_VNamedError_VNamedError
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VNamedError_VNamedError, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VNamedError
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VNamedError
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VNamedError_VNamedError)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VUint32_VUint32 map[VUint32]VUint32

func (VMap_VUint32_VUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VUint32_VUint32"`
}) {
}

func (x VMap_VUint32_VUint32) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VUint32_VUint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_79); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueUint(__VDLType_uint32_10, uint64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueUint(__VDLType_uint32_10, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VUint32_VUint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_79); err != nil {
		return err
	}
	var tmpMap VMap_VUint32_VUint32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VUint32_VUint32, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(32); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VUint32
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				elem = VUint32(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VUint32_VUint32)
			}
			tmpMap[VUint32(key)] = elem
		}
	}
}

type VMap_VInt32_VInt32 map[VInt32]VInt32

func (VMap_VInt32_VInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VInt32_VInt32"`
}) {
}

func (x VMap_VInt32_VInt32) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VInt32_VInt32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_80); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueInt(__VDLType_int32_14, int64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueInt(__VDLType_int32_14, int64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VInt32_VInt32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_80); err != nil {
		return err
	}
	var tmpMap VMap_VInt32_VInt32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VInt32_VInt32, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueInt(32); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VInt32
			switch value, err := dec.ReadValueInt(32); {
			case err != nil:
				return err
			default:
				elem = VInt32(value)
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VInt32_VInt32)
			}
			tmpMap[VInt32(key)] = elem
		}
	}
}

type VMap_Int64_Int64 map[int64]int64

func (VMap_Int64_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_Int64_Int64"`
}) {
}

func (x VMap_Int64_Int64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_Int64_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_81); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueInt(vdl.Int64Type, key); err != nil {
			return err
		}
		if err := enc.WriteValueInt(vdl.Int64Type, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Int64_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_81); err != nil {
		return err
	}
	var tmpMap VMap_Int64_Int64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Int64_Int64, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueInt(64); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem int64
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				elem = value
			}
			if tmpMap == nil {
				tmpMap = make(VMap_Int64_Int64)
			}
			tmpMap[key] = elem
		}
	}
}

type VStructDepth1_All struct {
	F0  interface{}
	F1  bool
	F2  VBool
	F3  string
	F4  VString
	F5  *vdl.Type
	F6  byte
	F7  VByte
	F8  VEnumAbc
	F9  VEnumBcd
	F10 VStructEmpty
	F11 VNamedError
	F12 error
	F13 uint16
	F14 VUint16
	F15 uint32
	F16 VUint32
	F17 uint64
	F18 VUint64
	F19 int8
	F20 VInt8
	F21 int16
	F22 VInt16
	F23 int32
	F24 VInt32
	F25 int64
	F26 VInt64
	F27 float32
	F28 VFloat32
	F29 float64
	F30 VFloat64
	F31 *VStructEmpty
	F32 *VNamedError
}

func (VStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_All"`
}) {
}

func (x VStructDepth1_All) VDLIsZero() bool {
	if x.F0 != nil {
		return false
	}
	if x.F1 {
		return false
	}
	if x.F2 {
		return false
	}
	if x.F3 != "" {
		return false
	}
	if x.F4 != "" {
		return false
	}
	if x.F5 != nil && x.F5 != vdl.AnyType {
		return false
	}
	if x.F6 != 0 {
		return false
	}
	if x.F7 != 0 {
		return false
	}
	if x.F8 != VEnumAbcA {
		return false
	}
	if x.F9 != VEnumBcdB {
		return false
	}
	if x.F10 != (VStructEmpty{}) {
		return false
	}
	if x.F11 != (VNamedError{}) {
		return false
	}
	if x.F12 != nil {
		return false
	}
	if x.F13 != 0 {
		return false
	}
	if x.F14 != 0 {
		return false
	}
	if x.F15 != 0 {
		return false
	}
	if x.F16 != 0 {
		return false
	}
	if x.F17 != 0 {
		return false
	}
	if x.F18 != 0 {
		return false
	}
	if x.F19 != 0 {
		return false
	}
	if x.F20 != 0 {
		return false
	}
	if x.F21 != 0 {
		return false
	}
	if x.F22 != 0 {
		return false
	}
	if x.F23 != 0 {
		return false
	}
	if x.F24 != 0 {
		return false
	}
	if x.F25 != 0 {
		return false
	}
	if x.F26 != 0 {
		return false
	}
	if x.F27 != 0 {
		return false
	}
	if x.F28 != 0 {
		return false
	}
	if x.F29 != 0 {
		return false
	}
	if x.F30 != 0 {
		return false
	}
	if x.F31 != nil {
		return false
	}
	if x.F32 != nil {
		return false
	}
	return true
}

func (x VStructDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_82); err != nil {
		return err
	}
	if x.F0 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.F0); err != nil {
			return err
		}
	}
	if x.F1 {
		if err := enc.NextFieldValueBool(1, vdl.BoolType, x.F1); err != nil {
			return err
		}
	}
	if x.F2 {
		if err := enc.NextFieldValueBool(2, __VDLType_bool_2, bool(x.F2)); err != nil {
			return err
		}
	}
	if x.F3 != "" {
		if err := enc.NextFieldValueString(3, vdl.StringType, x.F3); err != nil {
			return err
		}
	}
	if x.F4 != "" {
		if err := enc.NextFieldValueString(4, __VDLType_string_3, string(x.F4)); err != nil {
			return err
		}
	}
	if x.F5 != nil && x.F5 != vdl.AnyType {
		if err := enc.NextFieldValueTypeObject(5, x.F5); err != nil {
			return err
		}
	}
	if x.F6 != 0 {
		if err := enc.NextFieldValueUint(6, vdl.ByteType, uint64(x.F6)); err != nil {
			return err
		}
	}
	if x.F7 != 0 {
		if err := enc.NextFieldValueUint(7, __VDLType_byte_4, uint64(x.F7)); err != nil {
			return err
		}
	}
	if x.F8 != VEnumAbcA {
		if err := enc.NextFieldValueString(8, __VDLType_enum_5, x.F8.String()); err != nil {
			return err
		}
	}
	if x.F9 != VEnumBcdB {
		if err := enc.NextFieldValueString(9, __VDLType_enum_6, x.F9.String()); err != nil {
			return err
		}
	}
	if x.F10 != (VStructEmpty{}) {
		if err := enc.NextField(10); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F11 != (VNamedError{}) {
		if err := enc.NextField(11); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F12 != nil {
		if err := enc.NextField(12); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x.F12); err != nil {
			return err
		}
	}
	if x.F13 != 0 {
		if err := enc.NextFieldValueUint(13, vdl.Uint16Type, uint64(x.F13)); err != nil {
			return err
		}
	}
	if x.F14 != 0 {
		if err := enc.NextFieldValueUint(14, __VDLType_uint16_9, uint64(x.F14)); err != nil {
			return err
		}
	}
	if x.F15 != 0 {
		if err := enc.NextFieldValueUint(15, vdl.Uint32Type, uint64(x.F15)); err != nil {
			return err
		}
	}
	if x.F16 != 0 {
		if err := enc.NextFieldValueUint(16, __VDLType_uint32_10, uint64(x.F16)); err != nil {
			return err
		}
	}
	if x.F17 != 0 {
		if err := enc.NextFieldValueUint(17, vdl.Uint64Type, x.F17); err != nil {
			return err
		}
	}
	if x.F18 != 0 {
		if err := enc.NextFieldValueUint(18, __VDLType_uint64_11, uint64(x.F18)); err != nil {
			return err
		}
	}
	if x.F19 != 0 {
		if err := enc.NextFieldValueInt(19, vdl.Int8Type, int64(x.F19)); err != nil {
			return err
		}
	}
	if x.F20 != 0 {
		if err := enc.NextFieldValueInt(20, __VDLType_int8_12, int64(x.F20)); err != nil {
			return err
		}
	}
	if x.F21 != 0 {
		if err := enc.NextFieldValueInt(21, vdl.Int16Type, int64(x.F21)); err != nil {
			return err
		}
	}
	if x.F22 != 0 {
		if err := enc.NextFieldValueInt(22, __VDLType_int16_13, int64(x.F22)); err != nil {
			return err
		}
	}
	if x.F23 != 0 {
		if err := enc.NextFieldValueInt(23, vdl.Int32Type, int64(x.F23)); err != nil {
			return err
		}
	}
	if x.F24 != 0 {
		if err := enc.NextFieldValueInt(24, __VDLType_int32_14, int64(x.F24)); err != nil {
			return err
		}
	}
	if x.F25 != 0 {
		if err := enc.NextFieldValueInt(25, vdl.Int64Type, x.F25); err != nil {
			return err
		}
	}
	if x.F26 != 0 {
		if err := enc.NextFieldValueInt(26, __VDLType_int64_15, int64(x.F26)); err != nil {
			return err
		}
	}
	if x.F27 != 0 {
		if err := enc.NextFieldValueFloat(27, vdl.Float32Type, float64(x.F27)); err != nil {
			return err
		}
	}
	if x.F28 != 0 {
		if err := enc.NextFieldValueFloat(28, __VDLType_float32_16, float64(x.F28)); err != nil {
			return err
		}
	}
	if x.F29 != 0 {
		if err := enc.NextFieldValueFloat(29, vdl.Float64Type, x.F29); err != nil {
			return err
		}
	}
	if x.F30 != 0 {
		if err := enc.NextFieldValueFloat(30, __VDLType_float64_17, float64(x.F30)); err != nil {
			return err
		}
	}
	if x.F31 != nil {
		if err := enc.NextField(31); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F31.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F32 != nil {
		if err := enc.NextField(32); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F32.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_All{
		F5: vdl.AnyType,
	}
	if err := dec.StartValue(__VDLType_struct_82); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_82 {
			index = __VDLType_struct_82.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.F0 = readAny
		case 1:
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				x.F1 = value
			}
		case 2:
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				x.F2 = VBool(value)
			}
		case 3:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.F3 = value
			}
		case 4:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.F4 = VString(value)
			}
		case 5:
			switch value, err := dec.ReadValueTypeObject(); {
			case err != nil:
				return err
			default:
				x.F5 = value
			}
		case 6:
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				x.F6 = byte(value)
			}
		case 7:
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				x.F7 = VByte(value)
			}
		case 8:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := x.F8.Set(value); err != nil {
					return err
				}
			}
		case 9:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := x.F9.Set(value); err != nil {
					return err
				}
			}
		case 10:
			if err := x.F10.VDLRead(dec); err != nil {
				return err
			}
		case 11:
			if err := x.F11.VDLRead(dec); err != nil {
				return err
			}
		case 12:
			if err := verror.VDLRead(dec, &x.F12); err != nil {
				return err
			}
		case 13:
			switch value, err := dec.ReadValueUint(16); {
			case err != nil:
				return err
			default:
				x.F13 = uint16(value)
			}
		case 14:
			switch value, err := dec.ReadValueUint(16); {
			case err != nil:
				return err
			default:
				x.F14 = VUint16(value)
			}
		case 15:
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				x.F15 = uint32(value)
			}
		case 16:
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				x.F16 = VUint32(value)
			}
		case 17:
			switch value, err := dec.ReadValueUint(64); {
			case err != nil:
				return err
			default:
				x.F17 = value
			}
		case 18:
			switch value, err := dec.ReadValueUint(64); {
			case err != nil:
				return err
			default:
				x.F18 = VUint64(value)
			}
		case 19:
			switch value, err := dec.ReadValueInt(8); {
			case err != nil:
				return err
			default:
				x.F19 = int8(value)
			}
		case 20:
			switch value, err := dec.ReadValueInt(8); {
			case err != nil:
				return err
			default:
				x.F20 = VInt8(value)
			}
		case 21:
			switch value, err := dec.ReadValueInt(16); {
			case err != nil:
				return err
			default:
				x.F21 = int16(value)
			}
		case 22:
			switch value, err := dec.ReadValueInt(16); {
			case err != nil:
				return err
			default:
				x.F22 = VInt16(value)
			}
		case 23:
			switch value, err := dec.ReadValueInt(32); {
			case err != nil:
				return err
			default:
				x.F23 = int32(value)
			}
		case 24:
			switch value, err := dec.ReadValueInt(32); {
			case err != nil:
				return err
			default:
				x.F24 = VInt32(value)
			}
		case 25:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.F25 = value
			}
		case 26:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.F26 = VInt64(value)
			}
		case 27:
			switch value, err := dec.ReadValueFloat(32); {
			case err != nil:
				return err
			default:
				x.F27 = float32(value)
			}
		case 28:
			switch value, err := dec.ReadValueFloat(32); {
			case err != nil:
				return err
			default:
				x.F28 = VFloat32(value)
			}
		case 29:
			switch value, err := dec.ReadValueFloat(64); {
			case err != nil:
				return err
			default:
				x.F29 = value
			}
		case 30:
			switch value, err := dec.ReadValueFloat(64); {
			case err != nil:
				return err
			default:
				x.F30 = VFloat64(value)
			}
		case 31:
			if err := dec.StartValue(__VDLType_optional_35); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F31 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F31 = new(VStructEmpty)
				dec.IgnoreNextStartValue()
				if err := x.F31.VDLRead(dec); err != nil {
					return err
				}
			}
		case 32:
			if err := dec.StartValue(__VDLType_optional_37); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F32 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F32 = new(VNamedError)
				dec.IgnoreNextStartValue()
				if err := x.F32.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type VStructDepth1_Any struct {
	F0 interface{}
}

func (VStructDepth1_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Any"`
}) {
}

func (x VStructDepth1_Any) VDLIsZero() bool {
	return x == VStructDepth1_Any{}
}

func (x VStructDepth1_Any) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_83); err != nil {
		return err
	}
	if x.F0 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.F0); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Any) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Any{}
	if err := dec.StartValue(__VDLType_struct_83); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_83 {
			index = __VDLType_struct_83.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.F0 = readAny
		}
	}
}

type VStructDepth1_Bool struct {
	F1 bool
}

func (VStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Bool"`
}) {
}

func (x VStructDepth1_Bool) VDLIsZero() bool {
	return x == VStructDepth1_Bool{}
}

func (x VStructDepth1_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_84); err != nil {
		return err
	}
	if x.F1 {
		if err := enc.NextFieldValueBool(0, vdl.BoolType, x.F1); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Bool) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Bool{}
	if err := dec.StartValue(__VDLType_struct_84); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_84 {
			index = __VDLType_struct_84.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				x.F1 = value
			}
		}
	}
}

type VStructDepth1_VBool struct {
	F2 VBool
}

func (VStructDepth1_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VBool"`
}) {
}

func (x VStructDepth1_VBool) VDLIsZero() bool {
	return x == VStructDepth1_VBool{}
}

func (x VStructDepth1_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_85); err != nil {
		return err
	}
	if x.F2 {
		if err := enc.NextFieldValueBool(0, __VDLType_bool_2, bool(x.F2)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VBool) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VBool{}
	if err := dec.StartValue(__VDLType_struct_85); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_85 {
			index = __VDLType_struct_85.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				x.F2 = VBool(value)
			}
		}
	}
}

type VStructDepth1_String struct {
	F3 string
}

func (VStructDepth1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_String"`
}) {
}

func (x VStructDepth1_String) VDLIsZero() bool {
	return x == VStructDepth1_String{}
}

func (x VStructDepth1_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_86); err != nil {
		return err
	}
	if x.F3 != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.F3); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_String) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_String{}
	if err := dec.StartValue(__VDLType_struct_86); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_86 {
			index = __VDLType_struct_86.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.F3 = value
			}
		}
	}
}

type VStructDepth1_VString struct {
	F4 VString
}

func (VStructDepth1_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VString"`
}) {
}

func (x VStructDepth1_VString) VDLIsZero() bool {
	return x == VStructDepth1_VString{}
}

func (x VStructDepth1_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_87); err != nil {
		return err
	}
	if x.F4 != "" {
		if err := enc.NextFieldValueString(0, __VDLType_string_3, string(x.F4)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VString) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VString{}
	if err := dec.StartValue(__VDLType_struct_87); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_87 {
			index = __VDLType_struct_87.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.F4 = VString(value)
			}
		}
	}
}

type VStructDepth1_TypeObject struct {
	F5 *vdl.Type
}

func (VStructDepth1_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_TypeObject"`
}) {
}

func (x VStructDepth1_TypeObject) VDLIsZero() bool {
	if x.F5 != nil && x.F5 != vdl.AnyType {
		return false
	}
	return true
}

func (x VStructDepth1_TypeObject) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_88); err != nil {
		return err
	}
	if x.F5 != nil && x.F5 != vdl.AnyType {
		if err := enc.NextFieldValueTypeObject(0, x.F5); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_TypeObject) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_TypeObject{
		F5: vdl.AnyType,
	}
	if err := dec.StartValue(__VDLType_struct_88); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_88 {
			index = __VDLType_struct_88.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueTypeObject(); {
			case err != nil:
				return err
			default:
				x.F5 = value
			}
		}
	}
}

type VStructDepth1_Byte struct {
	F6 byte
}

func (VStructDepth1_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Byte"`
}) {
}

func (x VStructDepth1_Byte) VDLIsZero() bool {
	return x == VStructDepth1_Byte{}
}

func (x VStructDepth1_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_89); err != nil {
		return err
	}
	if x.F6 != 0 {
		if err := enc.NextFieldValueUint(0, vdl.ByteType, uint64(x.F6)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Byte) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Byte{}
	if err := dec.StartValue(__VDLType_struct_89); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_89 {
			index = __VDLType_struct_89.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				x.F6 = byte(value)
			}
		}
	}
}

type VStructDepth1_VByte struct {
	F7 VByte
}

func (VStructDepth1_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VByte"`
}) {
}

func (x VStructDepth1_VByte) VDLIsZero() bool {
	return x == VStructDepth1_VByte{}
}

func (x VStructDepth1_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_90); err != nil {
		return err
	}
	if x.F7 != 0 {
		if err := enc.NextFieldValueUint(0, __VDLType_byte_4, uint64(x.F7)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VByte) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VByte{}
	if err := dec.StartValue(__VDLType_struct_90); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_90 {
			index = __VDLType_struct_90.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				x.F7 = VByte(value)
			}
		}
	}
}

type VStructDepth1_VEnumAbc struct {
	F8 VEnumAbc
}

func (VStructDepth1_VEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VEnumAbc"`
}) {
}

func (x VStructDepth1_VEnumAbc) VDLIsZero() bool {
	return x == VStructDepth1_VEnumAbc{}
}

func (x VStructDepth1_VEnumAbc) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_91); err != nil {
		return err
	}
	if x.F8 != VEnumAbcA {
		if err := enc.NextFieldValueString(0, __VDLType_enum_5, x.F8.String()); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VEnumAbc{}
	if err := dec.StartValue(__VDLType_struct_91); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_91 {
			index = __VDLType_struct_91.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := x.F8.Set(value); err != nil {
					return err
				}
			}
		}
	}
}

type VStructDepth1_VEnumBcd struct {
	F9 VEnumBcd
}

func (VStructDepth1_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VEnumBcd"`
}) {
}

func (x VStructDepth1_VEnumBcd) VDLIsZero() bool {
	return x == VStructDepth1_VEnumBcd{}
}

func (x VStructDepth1_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_92); err != nil {
		return err
	}
	if x.F9 != VEnumBcdB {
		if err := enc.NextFieldValueString(0, __VDLType_enum_6, x.F9.String()); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VEnumBcd{}
	if err := dec.StartValue(__VDLType_struct_92); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_92 {
			index = __VDLType_struct_92.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				if err := x.F9.Set(value); err != nil {
					return err
				}
			}
		}
	}
}

type VStructDepth1_VStructEmpty struct {
	F10 VStructEmpty
}

func (VStructDepth1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VStructEmpty"`
}) {
}

func (x VStructDepth1_VStructEmpty) VDLIsZero() bool {
	return x == VStructDepth1_VStructEmpty{}
}

func (x VStructDepth1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_93); err != nil {
		return err
	}
	if x.F10 != (VStructEmpty{}) {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VStructEmpty{}
	if err := dec.StartValue(__VDLType_struct_93); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_93 {
			index = __VDLType_struct_93.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F10.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth1_VNamedError struct {
	F11 VNamedError
}

func (VStructDepth1_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VNamedError"`
}) {
}

func (x VStructDepth1_VNamedError) VDLIsZero() bool {
	return x == VStructDepth1_VNamedError{}
}

func (x VStructDepth1_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_94); err != nil {
		return err
	}
	if x.F11 != (VNamedError{}) {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VNamedError{}
	if err := dec.StartValue(__VDLType_struct_94); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_94 {
			index = __VDLType_struct_94.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F11.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth1_Error struct {
	F12 error
}

func (VStructDepth1_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Error"`
}) {
}

func (x VStructDepth1_Error) VDLIsZero() bool {
	return x == VStructDepth1_Error{}
}

func (x VStructDepth1_Error) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_95); err != nil {
		return err
	}
	if x.F12 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x.F12); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Error) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Error{}
	if err := dec.StartValue(__VDLType_struct_95); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_95 {
			index = __VDLType_struct_95.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := verror.VDLRead(dec, &x.F12); err != nil {
				return err
			}
		}
	}
}

type VStructDepth1_Uint16 struct {
	F13 uint16
}

func (VStructDepth1_Uint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Uint16"`
}) {
}

func (x VStructDepth1_Uint16) VDLIsZero() bool {
	return x == VStructDepth1_Uint16{}
}

func (x VStructDepth1_Uint16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_96); err != nil {
		return err
	}
	if x.F13 != 0 {
		if err := enc.NextFieldValueUint(0, vdl.Uint16Type, uint64(x.F13)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint16{}
	if err := dec.StartValue(__VDLType_struct_96); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_96 {
			index = __VDLType_struct_96.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(16); {
			case err != nil:
				return err
			default:
				x.F13 = uint16(value)
			}
		}
	}
}

type VStructDepth1_VUint16 struct {
	F14 VUint16
}

func (VStructDepth1_VUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VUint16"`
}) {
}

func (x VStructDepth1_VUint16) VDLIsZero() bool {
	return x == VStructDepth1_VUint16{}
}

func (x VStructDepth1_VUint16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_97); err != nil {
		return err
	}
	if x.F14 != 0 {
		if err := enc.NextFieldValueUint(0, __VDLType_uint16_9, uint64(x.F14)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint16{}
	if err := dec.StartValue(__VDLType_struct_97); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_97 {
			index = __VDLType_struct_97.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(16); {
			case err != nil:
				return err
			default:
				x.F14 = VUint16(value)
			}
		}
	}
}

type VStructDepth1_Uint32 struct {
	F15 uint32
}

func (VStructDepth1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Uint32"`
}) {
}

func (x VStructDepth1_Uint32) VDLIsZero() bool {
	return x == VStructDepth1_Uint32{}
}

func (x VStructDepth1_Uint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_98); err != nil {
		return err
	}
	if x.F15 != 0 {
		if err := enc.NextFieldValueUint(0, vdl.Uint32Type, uint64(x.F15)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint32{}
	if err := dec.StartValue(__VDLType_struct_98); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_98 {
			index = __VDLType_struct_98.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				x.F15 = uint32(value)
			}
		}
	}
}

type VStructDepth1_VUint32 struct {
	F16 VUint32
}

func (VStructDepth1_VUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VUint32"`
}) {
}

func (x VStructDepth1_VUint32) VDLIsZero() bool {
	return x == VStructDepth1_VUint32{}
}

func (x VStructDepth1_VUint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_99); err != nil {
		return err
	}
	if x.F16 != 0 {
		if err := enc.NextFieldValueUint(0, __VDLType_uint32_10, uint64(x.F16)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint32{}
	if err := dec.StartValue(__VDLType_struct_99); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_99 {
			index = __VDLType_struct_99.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				x.F16 = VUint32(value)
			}
		}
	}
}

type VStructDepth1_Uint64 struct {
	F17 uint64
}

func (VStructDepth1_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Uint64"`
}) {
}

func (x VStructDepth1_Uint64) VDLIsZero() bool {
	return x == VStructDepth1_Uint64{}
}

func (x VStructDepth1_Uint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_100); err != nil {
		return err
	}
	if x.F17 != 0 {
		if err := enc.NextFieldValueUint(0, vdl.Uint64Type, x.F17); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint64{}
	if err := dec.StartValue(__VDLType_struct_100); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_100 {
			index = __VDLType_struct_100.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(64); {
			case err != nil:
				return err
			default:
				x.F17 = value
			}
		}
	}
}

type VStructDepth1_VUint64 struct {
	F18 VUint64
}

func (VStructDepth1_VUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VUint64"`
}) {
}

func (x VStructDepth1_VUint64) VDLIsZero() bool {
	return x == VStructDepth1_VUint64{}
}

func (x VStructDepth1_VUint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_101); err != nil {
		return err
	}
	if x.F18 != 0 {
		if err := enc.NextFieldValueUint(0, __VDLType_uint64_11, uint64(x.F18)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint64{}
	if err := dec.StartValue(__VDLType_struct_101); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_101 {
			index = __VDLType_struct_101.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueUint(64); {
			case err != nil:
				return err
			default:
				x.F18 = VUint64(value)
			}
		}
	}
}

type VStructDepth1_Int8 struct {
	F19 int8
}

func (VStructDepth1_Int8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Int8"`
}) {
}

func (x VStructDepth1_Int8) VDLIsZero() bool {
	return x == VStructDepth1_Int8{}
}

func (x VStructDepth1_Int8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_102); err != nil {
		return err
	}
	if x.F19 != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int8Type, int64(x.F19)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int8) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int8{}
	if err := dec.StartValue(__VDLType_struct_102); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_102 {
			index = __VDLType_struct_102.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(8); {
			case err != nil:
				return err
			default:
				x.F19 = int8(value)
			}
		}
	}
}

type VStructDepth1_VInt8 struct {
	F20 VInt8
}

func (VStructDepth1_VInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VInt8"`
}) {
}

func (x VStructDepth1_VInt8) VDLIsZero() bool {
	return x == VStructDepth1_VInt8{}
}

func (x VStructDepth1_VInt8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_103); err != nil {
		return err
	}
	if x.F20 != 0 {
		if err := enc.NextFieldValueInt(0, __VDLType_int8_12, int64(x.F20)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt8) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt8{}
	if err := dec.StartValue(__VDLType_struct_103); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_103 {
			index = __VDLType_struct_103.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(8); {
			case err != nil:
				return err
			default:
				x.F20 = VInt8(value)
			}
		}
	}
}

type VStructDepth1_Int16 struct {
	F21 int16
}

func (VStructDepth1_Int16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Int16"`
}) {
}

func (x VStructDepth1_Int16) VDLIsZero() bool {
	return x == VStructDepth1_Int16{}
}

func (x VStructDepth1_Int16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_104); err != nil {
		return err
	}
	if x.F21 != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int16Type, int64(x.F21)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int16{}
	if err := dec.StartValue(__VDLType_struct_104); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_104 {
			index = __VDLType_struct_104.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(16); {
			case err != nil:
				return err
			default:
				x.F21 = int16(value)
			}
		}
	}
}

type VStructDepth1_VInt16 struct {
	F22 VInt16
}

func (VStructDepth1_VInt16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VInt16"`
}) {
}

func (x VStructDepth1_VInt16) VDLIsZero() bool {
	return x == VStructDepth1_VInt16{}
}

func (x VStructDepth1_VInt16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_105); err != nil {
		return err
	}
	if x.F22 != 0 {
		if err := enc.NextFieldValueInt(0, __VDLType_int16_13, int64(x.F22)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt16{}
	if err := dec.StartValue(__VDLType_struct_105); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_105 {
			index = __VDLType_struct_105.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(16); {
			case err != nil:
				return err
			default:
				x.F22 = VInt16(value)
			}
		}
	}
}

type VStructDepth1_Int32 struct {
	F23 int32
}

func (VStructDepth1_Int32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Int32"`
}) {
}

func (x VStructDepth1_Int32) VDLIsZero() bool {
	return x == VStructDepth1_Int32{}
}

func (x VStructDepth1_Int32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_106); err != nil {
		return err
	}
	if x.F23 != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int32Type, int64(x.F23)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int32{}
	if err := dec.StartValue(__VDLType_struct_106); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_106 {
			index = __VDLType_struct_106.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(32); {
			case err != nil:
				return err
			default:
				x.F23 = int32(value)
			}
		}
	}
}

type VStructDepth1_VInt32 struct {
	F24 VInt32
}

func (VStructDepth1_VInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VInt32"`
}) {
}

func (x VStructDepth1_VInt32) VDLIsZero() bool {
	return x == VStructDepth1_VInt32{}
}

func (x VStructDepth1_VInt32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_107); err != nil {
		return err
	}
	if x.F24 != 0 {
		if err := enc.NextFieldValueInt(0, __VDLType_int32_14, int64(x.F24)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt32{}
	if err := dec.StartValue(__VDLType_struct_107); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_107 {
			index = __VDLType_struct_107.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(32); {
			case err != nil:
				return err
			default:
				x.F24 = VInt32(value)
			}
		}
	}
}

type VStructDepth1_Int64 struct {
	F25 int64
}

func (VStructDepth1_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Int64"`
}) {
}

func (x VStructDepth1_Int64) VDLIsZero() bool {
	return x == VStructDepth1_Int64{}
}

func (x VStructDepth1_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_108); err != nil {
		return err
	}
	if x.F25 != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int64Type, x.F25); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int64{}
	if err := dec.StartValue(__VDLType_struct_108); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_108 {
			index = __VDLType_struct_108.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.F25 = value
			}
		}
	}
}

type VStructDepth1_VInt64 struct {
	F26 VInt64
}

func (VStructDepth1_VInt64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VInt64"`
}) {
}

func (x VStructDepth1_VInt64) VDLIsZero() bool {
	return x == VStructDepth1_VInt64{}
}

func (x VStructDepth1_VInt64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_109); err != nil {
		return err
	}
	if x.F26 != 0 {
		if err := enc.NextFieldValueInt(0, __VDLType_int64_15, int64(x.F26)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt64{}
	if err := dec.StartValue(__VDLType_struct_109); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_109 {
			index = __VDLType_struct_109.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.F26 = VInt64(value)
			}
		}
	}
}

type VStructDepth1_Float32 struct {
	F27 float32
}

func (VStructDepth1_Float32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Float32"`
}) {
}

func (x VStructDepth1_Float32) VDLIsZero() bool {
	return x == VStructDepth1_Float32{}
}

func (x VStructDepth1_Float32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_110); err != nil {
		return err
	}
	if x.F27 != 0 {
		if err := enc.NextFieldValueFloat(0, vdl.Float32Type, float64(x.F27)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Float32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Float32{}
	if err := dec.StartValue(__VDLType_struct_110); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_110 {
			index = __VDLType_struct_110.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueFloat(32); {
			case err != nil:
				return err
			default:
				x.F27 = float32(value)
			}
		}
	}
}

type VStructDepth1_VFloat32 struct {
	F28 VFloat32
}

func (VStructDepth1_VFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VFloat32"`
}) {
}

func (x VStructDepth1_VFloat32) VDLIsZero() bool {
	return x == VStructDepth1_VFloat32{}
}

func (x VStructDepth1_VFloat32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_111); err != nil {
		return err
	}
	if x.F28 != 0 {
		if err := enc.NextFieldValueFloat(0, __VDLType_float32_16, float64(x.F28)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VFloat32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VFloat32{}
	if err := dec.StartValue(__VDLType_struct_111); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_111 {
			index = __VDLType_struct_111.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueFloat(32); {
			case err != nil:
				return err
			default:
				x.F28 = VFloat32(value)
			}
		}
	}
}

type VStructDepth1_Float64 struct {
	F29 float64
}

func (VStructDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_Float64"`
}) {
}

func (x VStructDepth1_Float64) VDLIsZero() bool {
	return x == VStructDepth1_Float64{}
}

func (x VStructDepth1_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_112); err != nil {
		return err
	}
	if x.F29 != 0 {
		if err := enc.NextFieldValueFloat(0, vdl.Float64Type, x.F29); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Float64{}
	if err := dec.StartValue(__VDLType_struct_112); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_112 {
			index = __VDLType_struct_112.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueFloat(64); {
			case err != nil:
				return err
			default:
				x.F29 = value
			}
		}
	}
}

type VStructDepth1_VFloat64 struct {
	F30 VFloat64
}

func (VStructDepth1_VFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_VFloat64"`
}) {
}

func (x VStructDepth1_VFloat64) VDLIsZero() bool {
	return x == VStructDepth1_VFloat64{}
}

func (x VStructDepth1_VFloat64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_113); err != nil {
		return err
	}
	if x.F30 != 0 {
		if err := enc.NextFieldValueFloat(0, __VDLType_float64_17, float64(x.F30)); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VFloat64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VFloat64{}
	if err := dec.StartValue(__VDLType_struct_113); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_113 {
			index = __VDLType_struct_113.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueFloat(64); {
			case err != nil:
				return err
			default:
				x.F30 = VFloat64(value)
			}
		}
	}
}

type VStructDepth1_OptVStructEmpty struct {
	F31 *VStructEmpty
}

func (VStructDepth1_OptVStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_OptVStructEmpty"`
}) {
}

func (x VStructDepth1_OptVStructEmpty) VDLIsZero() bool {
	return x == VStructDepth1_OptVStructEmpty{}
}

func (x VStructDepth1_OptVStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_114); err != nil {
		return err
	}
	if x.F31 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F31.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_OptVStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_OptVStructEmpty{}
	if err := dec.StartValue(__VDLType_struct_114); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_114 {
			index = __VDLType_struct_114.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := dec.StartValue(__VDLType_optional_35); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F31 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F31 = new(VStructEmpty)
				dec.IgnoreNextStartValue()
				if err := x.F31.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type VStructDepth1_OptVNamedError struct {
	F32 *VNamedError
}

func (VStructDepth1_OptVNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth1_OptVNamedError"`
}) {
}

func (x VStructDepth1_OptVNamedError) VDLIsZero() bool {
	return x == VStructDepth1_OptVNamedError{}
}

func (x VStructDepth1_OptVNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_115); err != nil {
		return err
	}
	if x.F32 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F32.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_OptVNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_OptVNamedError{}
	if err := dec.StartValue(__VDLType_struct_115); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_115 {
			index = __VDLType_struct_115.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := dec.StartValue(__VDLType_optional_37); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F32 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F32 = new(VNamedError)
				dec.IgnoreNextStartValue()
				if err := x.F32.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type (
	// VUnionDepth1_All represents any single field of the VUnionDepth1_All union type.
	VUnionDepth1_All 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 VUnionDepth1_All union type.
		__VDLReflect(__VUnionDepth1_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_AllF0 represents field F0 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF0 struct{ Value interface{} }
	// VUnionDepth1_AllF1 represents field F1 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF1 struct{ Value bool }
	// VUnionDepth1_AllF2 represents field F2 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF2 struct{ Value VBool }
	// VUnionDepth1_AllF3 represents field F3 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF3 struct{ Value string }
	// VUnionDepth1_AllF4 represents field F4 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF4 struct{ Value VString }
	// VUnionDepth1_AllF5 represents field F5 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF5 struct{ Value *vdl.Type }
	// VUnionDepth1_AllF6 represents field F6 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF6 struct{ Value byte }
	// VUnionDepth1_AllF7 represents field F7 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF7 struct{ Value VByte }
	// VUnionDepth1_AllF8 represents field F8 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF8 struct{ Value VEnumAbc }
	// VUnionDepth1_AllF9 represents field F9 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF9 struct{ Value VEnumBcd }
	// VUnionDepth1_AllF10 represents field F10 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF10 struct{ Value VStructEmpty }
	// VUnionDepth1_AllF11 represents field F11 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF11 struct{ Value VNamedError }
	// VUnionDepth1_AllF12 represents field F12 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF12 struct{ Value error }
	// VUnionDepth1_AllF13 represents field F13 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF13 struct{ Value uint16 }
	// VUnionDepth1_AllF14 represents field F14 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF14 struct{ Value VUint16 }
	// VUnionDepth1_AllF15 represents field F15 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF15 struct{ Value uint32 }
	// VUnionDepth1_AllF16 represents field F16 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF16 struct{ Value VUint32 }
	// VUnionDepth1_AllF17 represents field F17 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF17 struct{ Value uint64 }
	// VUnionDepth1_AllF18 represents field F18 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF18 struct{ Value VUint64 }
	// VUnionDepth1_AllF19 represents field F19 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF19 struct{ Value int8 }
	// VUnionDepth1_AllF20 represents field F20 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF20 struct{ Value VInt8 }
	// VUnionDepth1_AllF21 represents field F21 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF21 struct{ Value int16 }
	// VUnionDepth1_AllF22 represents field F22 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF22 struct{ Value VInt16 }
	// VUnionDepth1_AllF23 represents field F23 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF23 struct{ Value int32 }
	// VUnionDepth1_AllF24 represents field F24 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF24 struct{ Value VInt32 }
	// VUnionDepth1_AllF25 represents field F25 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF25 struct{ Value int64 }
	// VUnionDepth1_AllF26 represents field F26 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF26 struct{ Value VInt64 }
	// VUnionDepth1_AllF27 represents field F27 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF27 struct{ Value float32 }
	// VUnionDepth1_AllF28 represents field F28 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF28 struct{ Value VFloat32 }
	// VUnionDepth1_AllF29 represents field F29 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF29 struct{ Value float64 }
	// VUnionDepth1_AllF30 represents field F30 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF30 struct{ Value VFloat64 }
	// VUnionDepth1_AllF31 represents field F31 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF31 struct{ Value *VStructEmpty }
	// VUnionDepth1_AllF32 represents field F32 of the VUnionDepth1_All union type.
	VUnionDepth1_AllF32 struct{ Value *VNamedError }
	// __VUnionDepth1_AllReflect describes the VUnionDepth1_All union type.
	__VUnionDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_All"`
		Type  VUnionDepth1_All
		Union struct {
			F0  VUnionDepth1_AllF0
			F1  VUnionDepth1_AllF1
			F2  VUnionDepth1_AllF2
			F3  VUnionDepth1_AllF3
			F4  VUnionDepth1_AllF4
			F5  VUnionDepth1_AllF5
			F6  VUnionDepth1_AllF6
			F7  VUnionDepth1_AllF7
			F8  VUnionDepth1_AllF8
			F9  VUnionDepth1_AllF9
			F10 VUnionDepth1_AllF10
			F11 VUnionDepth1_AllF11
			F12 VUnionDepth1_AllF12
			F13 VUnionDepth1_AllF13
			F14 VUnionDepth1_AllF14
			F15 VUnionDepth1_AllF15
			F16 VUnionDepth1_AllF16
			F17 VUnionDepth1_AllF17
			F18 VUnionDepth1_AllF18
			F19 VUnionDepth1_AllF19
			F20 VUnionDepth1_AllF20
			F21 VUnionDepth1_AllF21
			F22 VUnionDepth1_AllF22
			F23 VUnionDepth1_AllF23
			F24 VUnionDepth1_AllF24
			F25 VUnionDepth1_AllF25
			F26 VUnionDepth1_AllF26
			F27 VUnionDepth1_AllF27
			F28 VUnionDepth1_AllF28
			F29 VUnionDepth1_AllF29
			F30 VUnionDepth1_AllF30
			F31 VUnionDepth1_AllF31
			F32 VUnionDepth1_AllF32
		}
	}
)

func (x VUnionDepth1_AllF0) Index() int                             { return 0 }
func (x VUnionDepth1_AllF0) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF0) Name() string                           { return "F0" }
func (x VUnionDepth1_AllF0) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF1) Index() int                             { return 1 }
func (x VUnionDepth1_AllF1) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF1) Name() string                           { return "F1" }
func (x VUnionDepth1_AllF1) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF2) Index() int                             { return 2 }
func (x VUnionDepth1_AllF2) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF2) Name() string                           { return "F2" }
func (x VUnionDepth1_AllF2) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF3) Index() int                             { return 3 }
func (x VUnionDepth1_AllF3) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF3) Name() string                           { return "F3" }
func (x VUnionDepth1_AllF3) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF4) Index() int                             { return 4 }
func (x VUnionDepth1_AllF4) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF4) Name() string                           { return "F4" }
func (x VUnionDepth1_AllF4) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF5) Index() int                             { return 5 }
func (x VUnionDepth1_AllF5) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF5) Name() string                           { return "F5" }
func (x VUnionDepth1_AllF5) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF6) Index() int                             { return 6 }
func (x VUnionDepth1_AllF6) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF6) Name() string                           { return "F6" }
func (x VUnionDepth1_AllF6) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF7) Index() int                             { return 7 }
func (x VUnionDepth1_AllF7) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF7) Name() string                           { return "F7" }
func (x VUnionDepth1_AllF7) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF8) Index() int                             { return 8 }
func (x VUnionDepth1_AllF8) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF8) Name() string                           { return "F8" }
func (x VUnionDepth1_AllF8) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF9) Index() int                             { return 9 }
func (x VUnionDepth1_AllF9) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF9) Name() string                           { return "F9" }
func (x VUnionDepth1_AllF9) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF10) Index() int                             { return 10 }
func (x VUnionDepth1_AllF10) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF10) Name() string                           { return "F10" }
func (x VUnionDepth1_AllF10) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF11) Index() int                             { return 11 }
func (x VUnionDepth1_AllF11) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF11) Name() string                           { return "F11" }
func (x VUnionDepth1_AllF11) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF12) Index() int                             { return 12 }
func (x VUnionDepth1_AllF12) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF12) Name() string                           { return "F12" }
func (x VUnionDepth1_AllF12) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF13) Index() int                             { return 13 }
func (x VUnionDepth1_AllF13) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF13) Name() string                           { return "F13" }
func (x VUnionDepth1_AllF13) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF14) Index() int                             { return 14 }
func (x VUnionDepth1_AllF14) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF14) Name() string                           { return "F14" }
func (x VUnionDepth1_AllF14) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF15) Index() int                             { return 15 }
func (x VUnionDepth1_AllF15) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF15) Name() string                           { return "F15" }
func (x VUnionDepth1_AllF15) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF16) Index() int                             { return 16 }
func (x VUnionDepth1_AllF16) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF16) Name() string                           { return "F16" }
func (x VUnionDepth1_AllF16) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF17) Index() int                             { return 17 }
func (x VUnionDepth1_AllF17) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF17) Name() string                           { return "F17" }
func (x VUnionDepth1_AllF17) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF18) Index() int                             { return 18 }
func (x VUnionDepth1_AllF18) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF18) Name() string                           { return "F18" }
func (x VUnionDepth1_AllF18) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF19) Index() int                             { return 19 }
func (x VUnionDepth1_AllF19) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF19) Name() string                           { return "F19" }
func (x VUnionDepth1_AllF19) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF20) Index() int                             { return 20 }
func (x VUnionDepth1_AllF20) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF20) Name() string                           { return "F20" }
func (x VUnionDepth1_AllF20) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF21) Index() int                             { return 21 }
func (x VUnionDepth1_AllF21) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF21) Name() string                           { return "F21" }
func (x VUnionDepth1_AllF21) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF22) Index() int                             { return 22 }
func (x VUnionDepth1_AllF22) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF22) Name() string                           { return "F22" }
func (x VUnionDepth1_AllF22) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF23) Index() int                             { return 23 }
func (x VUnionDepth1_AllF23) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF23) Name() string                           { return "F23" }
func (x VUnionDepth1_AllF23) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF24) Index() int                             { return 24 }
func (x VUnionDepth1_AllF24) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF24) Name() string                           { return "F24" }
func (x VUnionDepth1_AllF24) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF25) Index() int                             { return 25 }
func (x VUnionDepth1_AllF25) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF25) Name() string                           { return "F25" }
func (x VUnionDepth1_AllF25) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF26) Index() int                             { return 26 }
func (x VUnionDepth1_AllF26) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF26) Name() string                           { return "F26" }
func (x VUnionDepth1_AllF26) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF27) Index() int                             { return 27 }
func (x VUnionDepth1_AllF27) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF27) Name() string                           { return "F27" }
func (x VUnionDepth1_AllF27) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF28) Index() int                             { return 28 }
func (x VUnionDepth1_AllF28) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF28) Name() string                           { return "F28" }
func (x VUnionDepth1_AllF28) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF29) Index() int                             { return 29 }
func (x VUnionDepth1_AllF29) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF29) Name() string                           { return "F29" }
func (x VUnionDepth1_AllF29) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF30) Index() int                             { return 30 }
func (x VUnionDepth1_AllF30) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF30) Name() string                           { return "F30" }
func (x VUnionDepth1_AllF30) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF31) Index() int                             { return 31 }
func (x VUnionDepth1_AllF31) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF31) Name() string                           { return "F31" }
func (x VUnionDepth1_AllF31) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF32) Index() int                             { return 32 }
func (x VUnionDepth1_AllF32) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AllF32) Name() string                           { return "F32" }
func (x VUnionDepth1_AllF32) __VDLReflect(__VUnionDepth1_AllReflect) {}

func (x VUnionDepth1_AllF0) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth1_AllF1) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF2) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF3) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF4) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF5) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF6) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF7) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF8) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF9) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF10) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF11) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF12) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF13) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF14) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF15) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF16) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF17) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF18) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF19) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF20) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF21) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF22) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF23) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF24) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF25) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF26) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF27) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF28) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF29) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF30) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF31) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF32) VDLIsZero() bool {
	return false
}

func (x VUnionDepth1_AllF0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := vdl.Write(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueBool(1, vdl.BoolType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueBool(2, __VDLType_bool_2, bool(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(3, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(4, __VDLType_string_3, string(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueTypeObject(5, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(6, vdl.ByteType, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(7, __VDLType_byte_4, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(8, __VDLType_enum_5, x.Value.String()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(9, __VDLType_enum_6, x.Value.String()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(10); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(11); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(12); err != nil {
		return err
	}
	if err := verror.VDLWrite(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(13, vdl.Uint16Type, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF14) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(14, __VDLType_uint16_9, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF15) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(15, vdl.Uint32Type, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(16, __VDLType_uint32_10, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF17) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(17, vdl.Uint64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF18) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(18, __VDLType_uint64_11, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF19) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(19, vdl.Int8Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF20) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(20, __VDLType_int8_12, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF21) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(21, vdl.Int16Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF22) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(22, __VDLType_int16_13, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF23) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(23, vdl.Int32Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF24) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(24, __VDLType_int32_14, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF25) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(25, vdl.Int64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF26) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(26, __VDLType_int64_15, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF27) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(27, vdl.Float32Type, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF28) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(28, __VDLType_float32_16, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF29) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(29, vdl.Float64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF30) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(30, __VDLType_float64_17, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF31) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(31); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_35); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	if err := enc.NextField(32); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_37); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_All(dec vdl.Decoder, x *VUnionDepth1_All) error {
	if err := dec.StartValue(__VDLType_union_116); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_116 {
		name := decType.Field(index).Name
		index = __VDLType_union_116.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_AllF0
		var readAny interface{}
		if err := vdl.Read(dec, &readAny); err != nil {
			return err
		}
		field.Value = readAny
		*x = field
	case 1:
		var field VUnionDepth1_AllF1
		switch value, err := dec.ReadValueBool(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 2:
		var field VUnionDepth1_AllF2
		switch value, err := dec.ReadValueBool(); {
		case err != nil:
			return err
		default:
			field.Value = VBool(value)
		}
		*x = field
	case 3:
		var field VUnionDepth1_AllF3
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 4:
		var field VUnionDepth1_AllF4
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = VString(value)
		}
		*x = field
	case 5:
		var field VUnionDepth1_AllF5
		switch value, err := dec.ReadValueTypeObject(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 6:
		var field VUnionDepth1_AllF6
		switch value, err := dec.ReadValueUint(8); {
		case err != nil:
			return err
		default:
			field.Value = byte(value)
		}
		*x = field
	case 7:
		var field VUnionDepth1_AllF7
		switch value, err := dec.ReadValueUint(8); {
		case err != nil:
			return err
		default:
			field.Value = VByte(value)
		}
		*x = field
	case 8:
		var field VUnionDepth1_AllF8
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			if err := field.Value.Set(value); err != nil {
				return err
			}
		}
		*x = field
	case 9:
		var field VUnionDepth1_AllF9
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			if err := field.Value.Set(value); err != nil {
				return err
			}
		}
		*x = field
	case 10:
		var field VUnionDepth1_AllF10
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 11:
		var field VUnionDepth1_AllF11
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 12:
		var field VUnionDepth1_AllF12
		if err := verror.VDLRead(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 13:
		var field VUnionDepth1_AllF13
		switch value, err := dec.ReadValueUint(16); {
		case err != nil:
			return err
		default:
			field.Value = uint16(value)
		}
		*x = field
	case 14:
		var field VUnionDepth1_AllF14
		switch value, err := dec.ReadValueUint(16); {
		case err != nil:
			return err
		default:
			field.Value = VUint16(value)
		}
		*x = field
	case 15:
		var field VUnionDepth1_AllF15
		switch value, err := dec.ReadValueUint(32); {
		case err != nil:
			return err
		default:
			field.Value = uint32(value)
		}
		*x = field
	case 16:
		var field VUnionDepth1_AllF16
		switch value, err := dec.ReadValueUint(32); {
		case err != nil:
			return err
		default:
			field.Value = VUint32(value)
		}
		*x = field
	case 17:
		var field VUnionDepth1_AllF17
		switch value, err := dec.ReadValueUint(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 18:
		var field VUnionDepth1_AllF18
		switch value, err := dec.ReadValueUint(64); {
		case err != nil:
			return err
		default:
			field.Value = VUint64(value)
		}
		*x = field
	case 19:
		var field VUnionDepth1_AllF19
		switch value, err := dec.ReadValueInt(8); {
		case err != nil:
			return err
		default:
			field.Value = int8(value)
		}
		*x = field
	case 20:
		var field VUnionDepth1_AllF20
		switch value, err := dec.ReadValueInt(8); {
		case err != nil:
			return err
		default:
			field.Value = VInt8(value)
		}
		*x = field
	case 21:
		var field VUnionDepth1_AllF21
		switch value, err := dec.ReadValueInt(16); {
		case err != nil:
			return err
		default:
			field.Value = int16(value)
		}
		*x = field
	case 22:
		var field VUnionDepth1_AllF22
		switch value, err := dec.ReadValueInt(16); {
		case err != nil:
			return err
		default:
			field.Value = VInt16(value)
		}
		*x = field
	case 23:
		var field VUnionDepth1_AllF23
		switch value, err := dec.ReadValueInt(32); {
		case err != nil:
			return err
		default:
			field.Value = int32(value)
		}
		*x = field
	case 24:
		var field VUnionDepth1_AllF24
		switch value, err := dec.ReadValueInt(32); {
		case err != nil:
			return err
		default:
			field.Value = VInt32(value)
		}
		*x = field
	case 25:
		var field VUnionDepth1_AllF25
		switch value, err := dec.ReadValueInt(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 26:
		var field VUnionDepth1_AllF26
		switch value, err := dec.ReadValueInt(64); {
		case err != nil:
			return err
		default:
			field.Value = VInt64(value)
		}
		*x = field
	case 27:
		var field VUnionDepth1_AllF27
		switch value, err := dec.ReadValueFloat(32); {
		case err != nil:
			return err
		default:
			field.Value = float32(value)
		}
		*x = field
	case 28:
		var field VUnionDepth1_AllF28
		switch value, err := dec.ReadValueFloat(32); {
		case err != nil:
			return err
		default:
			field.Value = VFloat32(value)
		}
		*x = field
	case 29:
		var field VUnionDepth1_AllF29
		switch value, err := dec.ReadValueFloat(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	case 30:
		var field VUnionDepth1_AllF30
		switch value, err := dec.ReadValueFloat(64); {
		case err != nil:
			return err
		default:
			field.Value = VFloat64(value)
		}
		*x = field
	case 31:
		var field VUnionDepth1_AllF31
		if err := dec.StartValue(__VDLType_optional_35); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructEmpty)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	case 32:
		var field VUnionDepth1_AllF32
		if err := dec.StartValue(__VDLType_optional_37); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VNamedError)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Any represents any single field of the VUnionDepth1_Any union type.
	VUnionDepth1_Any 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 VUnionDepth1_Any union type.
		__VDLReflect(__VUnionDepth1_AnyReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_AnyF0 represents field F0 of the VUnionDepth1_Any union type.
	VUnionDepth1_AnyF0 struct{ Value interface{} }
	// __VUnionDepth1_AnyReflect describes the VUnionDepth1_Any union type.
	__VUnionDepth1_AnyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Any"`
		Type  VUnionDepth1_Any
		Union struct {
			F0 VUnionDepth1_AnyF0
		}
	}
)

func (x VUnionDepth1_AnyF0) Index() int                             { return 0 }
func (x VUnionDepth1_AnyF0) Interface() interface{}                 { return x.Value }
func (x VUnionDepth1_AnyF0) Name() string                           { return "F0" }
func (x VUnionDepth1_AnyF0) __VDLReflect(__VUnionDepth1_AnyReflect) {}

func (x VUnionDepth1_AnyF0) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth1_AnyF0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_117); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := vdl.Write(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Any(dec vdl.Decoder, x *VUnionDepth1_Any) error {
	if err := dec.StartValue(__VDLType_union_117); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_117 {
		name := decType.Field(index).Name
		index = __VDLType_union_117.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_AnyF0
		var readAny interface{}
		if err := vdl.Read(dec, &readAny); err != nil {
			return err
		}
		field.Value = readAny
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Bool represents any single field of the VUnionDepth1_Bool union type.
	VUnionDepth1_Bool 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 VUnionDepth1_Bool union type.
		__VDLReflect(__VUnionDepth1_BoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_BoolF1 represents field F1 of the VUnionDepth1_Bool union type.
	VUnionDepth1_BoolF1 struct{ Value bool }
	// __VUnionDepth1_BoolReflect describes the VUnionDepth1_Bool union type.
	__VUnionDepth1_BoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Bool"`
		Type  VUnionDepth1_Bool
		Union struct {
			F1 VUnionDepth1_BoolF1
		}
	}
)

func (x VUnionDepth1_BoolF1) Index() int                              { return 0 }
func (x VUnionDepth1_BoolF1) Interface() interface{}                  { return x.Value }
func (x VUnionDepth1_BoolF1) Name() string                            { return "F1" }
func (x VUnionDepth1_BoolF1) __VDLReflect(__VUnionDepth1_BoolReflect) {}

func (x VUnionDepth1_BoolF1) VDLIsZero() bool {
	return !x.Value
}

func (x VUnionDepth1_BoolF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_118); err != nil {
		return err
	}
	if err := enc.NextFieldValueBool(0, vdl.BoolType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Bool(dec vdl.Decoder, x *VUnionDepth1_Bool) error {
	if err := dec.StartValue(__VDLType_union_118); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_118 {
		name := decType.Field(index).Name
		index = __VDLType_union_118.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_BoolF1
		switch value, err := dec.ReadValueBool(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VBool represents any single field of the VUnionDepth1_VBool union type.
	VUnionDepth1_VBool 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 VUnionDepth1_VBool union type.
		__VDLReflect(__VUnionDepth1_VBoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VBoolF2 represents field F2 of the VUnionDepth1_VBool union type.
	VUnionDepth1_VBoolF2 struct{ Value VBool }
	// __VUnionDepth1_VBoolReflect describes the VUnionDepth1_VBool union type.
	__VUnionDepth1_VBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VBool"`
		Type  VUnionDepth1_VBool
		Union struct {
			F2 VUnionDepth1_VBoolF2
		}
	}
)

func (x VUnionDepth1_VBoolF2) Index() int                               { return 0 }
func (x VUnionDepth1_VBoolF2) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_VBoolF2) Name() string                             { return "F2" }
func (x VUnionDepth1_VBoolF2) __VDLReflect(__VUnionDepth1_VBoolReflect) {}

func (x VUnionDepth1_VBoolF2) VDLIsZero() bool {
	return bool(!x.Value)
}

func (x VUnionDepth1_VBoolF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_119); err != nil {
		return err
	}
	if err := enc.NextFieldValueBool(0, __VDLType_bool_2, bool(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VBool(dec vdl.Decoder, x *VUnionDepth1_VBool) error {
	if err := dec.StartValue(__VDLType_union_119); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_119 {
		name := decType.Field(index).Name
		index = __VDLType_union_119.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VBoolF2
		switch value, err := dec.ReadValueBool(); {
		case err != nil:
			return err
		default:
			field.Value = VBool(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_String represents any single field of the VUnionDepth1_String union type.
	VUnionDepth1_String 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 VUnionDepth1_String union type.
		__VDLReflect(__VUnionDepth1_StringReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_StringF3 represents field F3 of the VUnionDepth1_String union type.
	VUnionDepth1_StringF3 struct{ Value string }
	// __VUnionDepth1_StringReflect describes the VUnionDepth1_String union type.
	__VUnionDepth1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_String"`
		Type  VUnionDepth1_String
		Union struct {
			F3 VUnionDepth1_StringF3
		}
	}
)

func (x VUnionDepth1_StringF3) Index() int                                { return 0 }
func (x VUnionDepth1_StringF3) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_StringF3) Name() string                              { return "F3" }
func (x VUnionDepth1_StringF3) __VDLReflect(__VUnionDepth1_StringReflect) {}

func (x VUnionDepth1_StringF3) VDLIsZero() bool {
	return x.Value == ""
}

func (x VUnionDepth1_StringF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_120); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_String(dec vdl.Decoder, x *VUnionDepth1_String) error {
	if err := dec.StartValue(__VDLType_union_120); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_120 {
		name := decType.Field(index).Name
		index = __VDLType_union_120.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_StringF3
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VString represents any single field of the VUnionDepth1_VString union type.
	VUnionDepth1_VString 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 VUnionDepth1_VString union type.
		__VDLReflect(__VUnionDepth1_VStringReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VStringF4 represents field F4 of the VUnionDepth1_VString union type.
	VUnionDepth1_VStringF4 struct{ Value VString }
	// __VUnionDepth1_VStringReflect describes the VUnionDepth1_VString union type.
	__VUnionDepth1_VStringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VString"`
		Type  VUnionDepth1_VString
		Union struct {
			F4 VUnionDepth1_VStringF4
		}
	}
)

func (x VUnionDepth1_VStringF4) Index() int                                 { return 0 }
func (x VUnionDepth1_VStringF4) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_VStringF4) Name() string                               { return "F4" }
func (x VUnionDepth1_VStringF4) __VDLReflect(__VUnionDepth1_VStringReflect) {}

func (x VUnionDepth1_VStringF4) VDLIsZero() bool {
	return x.Value == ""
}

func (x VUnionDepth1_VStringF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_121); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, __VDLType_string_3, string(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VString(dec vdl.Decoder, x *VUnionDepth1_VString) error {
	if err := dec.StartValue(__VDLType_union_121); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_121 {
		name := decType.Field(index).Name
		index = __VDLType_union_121.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VStringF4
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = VString(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_TypeObject represents any single field of the VUnionDepth1_TypeObject union type.
	VUnionDepth1_TypeObject 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 VUnionDepth1_TypeObject union type.
		__VDLReflect(__VUnionDepth1_TypeObjectReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_TypeObjectF5 represents field F5 of the VUnionDepth1_TypeObject union type.
	VUnionDepth1_TypeObjectF5 struct{ Value *vdl.Type }
	// __VUnionDepth1_TypeObjectReflect describes the VUnionDepth1_TypeObject union type.
	__VUnionDepth1_TypeObjectReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_TypeObject"`
		Type  VUnionDepth1_TypeObject
		Union struct {
			F5 VUnionDepth1_TypeObjectF5
		}
	}
)

func (x VUnionDepth1_TypeObjectF5) Index() int                                    { return 0 }
func (x VUnionDepth1_TypeObjectF5) Interface() interface{}                        { return x.Value }
func (x VUnionDepth1_TypeObjectF5) Name() string                                  { return "F5" }
func (x VUnionDepth1_TypeObjectF5) __VDLReflect(__VUnionDepth1_TypeObjectReflect) {}

func (x VUnionDepth1_TypeObjectF5) VDLIsZero() bool {
	return x.Value == nil || x.Value == vdl.AnyType
}

func (x VUnionDepth1_TypeObjectF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_122); err != nil {
		return err
	}
	if err := enc.NextFieldValueTypeObject(0, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_TypeObject(dec vdl.Decoder, x *VUnionDepth1_TypeObject) error {
	if err := dec.StartValue(__VDLType_union_122); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_122 {
		name := decType.Field(index).Name
		index = __VDLType_union_122.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_TypeObjectF5
		switch value, err := dec.ReadValueTypeObject(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Byte represents any single field of the VUnionDepth1_Byte union type.
	VUnionDepth1_Byte 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 VUnionDepth1_Byte union type.
		__VDLReflect(__VUnionDepth1_ByteReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_ByteF6 represents field F6 of the VUnionDepth1_Byte union type.
	VUnionDepth1_ByteF6 struct{ Value byte }
	// __VUnionDepth1_ByteReflect describes the VUnionDepth1_Byte union type.
	__VUnionDepth1_ByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Byte"`
		Type  VUnionDepth1_Byte
		Union struct {
			F6 VUnionDepth1_ByteF6
		}
	}
)

func (x VUnionDepth1_ByteF6) Index() int                              { return 0 }
func (x VUnionDepth1_ByteF6) Interface() interface{}                  { return x.Value }
func (x VUnionDepth1_ByteF6) Name() string                            { return "F6" }
func (x VUnionDepth1_ByteF6) __VDLReflect(__VUnionDepth1_ByteReflect) {}

func (x VUnionDepth1_ByteF6) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_ByteF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_123); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, vdl.ByteType, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Byte(dec vdl.Decoder, x *VUnionDepth1_Byte) error {
	if err := dec.StartValue(__VDLType_union_123); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_123 {
		name := decType.Field(index).Name
		index = __VDLType_union_123.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_ByteF6
		switch value, err := dec.ReadValueUint(8); {
		case err != nil:
			return err
		default:
			field.Value = byte(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VByte represents any single field of the VUnionDepth1_VByte union type.
	VUnionDepth1_VByte 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 VUnionDepth1_VByte union type.
		__VDLReflect(__VUnionDepth1_VByteReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VByteF7 represents field F7 of the VUnionDepth1_VByte union type.
	VUnionDepth1_VByteF7 struct{ Value VByte }
	// __VUnionDepth1_VByteReflect describes the VUnionDepth1_VByte union type.
	__VUnionDepth1_VByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VByte"`
		Type  VUnionDepth1_VByte
		Union struct {
			F7 VUnionDepth1_VByteF7
		}
	}
)

func (x VUnionDepth1_VByteF7) Index() int                               { return 0 }
func (x VUnionDepth1_VByteF7) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_VByteF7) Name() string                             { return "F7" }
func (x VUnionDepth1_VByteF7) __VDLReflect(__VUnionDepth1_VByteReflect) {}

func (x VUnionDepth1_VByteF7) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VByteF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_124); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, __VDLType_byte_4, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VByte(dec vdl.Decoder, x *VUnionDepth1_VByte) error {
	if err := dec.StartValue(__VDLType_union_124); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_124 {
		name := decType.Field(index).Name
		index = __VDLType_union_124.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VByteF7
		switch value, err := dec.ReadValueUint(8); {
		case err != nil:
			return err
		default:
			field.Value = VByte(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VEnumAbc represents any single field of the VUnionDepth1_VEnumAbc union type.
	VUnionDepth1_VEnumAbc 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 VUnionDepth1_VEnumAbc union type.
		__VDLReflect(__VUnionDepth1_VEnumAbcReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VEnumAbcF8 represents field F8 of the VUnionDepth1_VEnumAbc union type.
	VUnionDepth1_VEnumAbcF8 struct{ Value VEnumAbc }
	// __VUnionDepth1_VEnumAbcReflect describes the VUnionDepth1_VEnumAbc union type.
	__VUnionDepth1_VEnumAbcReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VEnumAbc"`
		Type  VUnionDepth1_VEnumAbc
		Union struct {
			F8 VUnionDepth1_VEnumAbcF8
		}
	}
)

func (x VUnionDepth1_VEnumAbcF8) Index() int                                  { return 0 }
func (x VUnionDepth1_VEnumAbcF8) Interface() interface{}                      { return x.Value }
func (x VUnionDepth1_VEnumAbcF8) Name() string                                { return "F8" }
func (x VUnionDepth1_VEnumAbcF8) __VDLReflect(__VUnionDepth1_VEnumAbcReflect) {}

func (x VUnionDepth1_VEnumAbcF8) VDLIsZero() bool {
	return x.Value == VEnumAbcA
}

func (x VUnionDepth1_VEnumAbcF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_125); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, __VDLType_enum_5, x.Value.String()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VEnumAbc(dec vdl.Decoder, x *VUnionDepth1_VEnumAbc) error {
	if err := dec.StartValue(__VDLType_union_125); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_125 {
		name := decType.Field(index).Name
		index = __VDLType_union_125.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VEnumAbcF8
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			if err := field.Value.Set(value); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VEnumBcd represents any single field of the VUnionDepth1_VEnumBcd union type.
	VUnionDepth1_VEnumBcd 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 VUnionDepth1_VEnumBcd union type.
		__VDLReflect(__VUnionDepth1_VEnumBcdReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VEnumBcdF9 represents field F9 of the VUnionDepth1_VEnumBcd union type.
	VUnionDepth1_VEnumBcdF9 struct{ Value VEnumBcd }
	// __VUnionDepth1_VEnumBcdReflect describes the VUnionDepth1_VEnumBcd union type.
	__VUnionDepth1_VEnumBcdReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VEnumBcd"`
		Type  VUnionDepth1_VEnumBcd
		Union struct {
			F9 VUnionDepth1_VEnumBcdF9
		}
	}
)

func (x VUnionDepth1_VEnumBcdF9) Index() int                                  { return 0 }
func (x VUnionDepth1_VEnumBcdF9) Interface() interface{}                      { return x.Value }
func (x VUnionDepth1_VEnumBcdF9) Name() string                                { return "F9" }
func (x VUnionDepth1_VEnumBcdF9) __VDLReflect(__VUnionDepth1_VEnumBcdReflect) {}

func (x VUnionDepth1_VEnumBcdF9) VDLIsZero() bool {
	return x.Value == VEnumBcdB
}

func (x VUnionDepth1_VEnumBcdF9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_126); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, __VDLType_enum_6, x.Value.String()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VEnumBcd(dec vdl.Decoder, x *VUnionDepth1_VEnumBcd) error {
	if err := dec.StartValue(__VDLType_union_126); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_126 {
		name := decType.Field(index).Name
		index = __VDLType_union_126.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VEnumBcdF9
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			if err := field.Value.Set(value); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VStructEmpty represents any single field of the VUnionDepth1_VStructEmpty union type.
	VUnionDepth1_VStructEmpty 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 VUnionDepth1_VStructEmpty union type.
		__VDLReflect(__VUnionDepth1_VStructEmptyReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VStructEmptyF10 represents field F10 of the VUnionDepth1_VStructEmpty union type.
	VUnionDepth1_VStructEmptyF10 struct{ Value VStructEmpty }
	// __VUnionDepth1_VStructEmptyReflect describes the VUnionDepth1_VStructEmpty union type.
	__VUnionDepth1_VStructEmptyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VStructEmpty"`
		Type  VUnionDepth1_VStructEmpty
		Union struct {
			F10 VUnionDepth1_VStructEmptyF10
		}
	}
)

func (x VUnionDepth1_VStructEmptyF10) Index() int                                      { return 0 }
func (x VUnionDepth1_VStructEmptyF10) Interface() interface{}                          { return x.Value }
func (x VUnionDepth1_VStructEmptyF10) Name() string                                    { return "F10" }
func (x VUnionDepth1_VStructEmptyF10) __VDLReflect(__VUnionDepth1_VStructEmptyReflect) {}

func (x VUnionDepth1_VStructEmptyF10) VDLIsZero() bool {
	return x.Value == VStructEmpty{}
}

func (x VUnionDepth1_VStructEmptyF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_127); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VStructEmpty(dec vdl.Decoder, x *VUnionDepth1_VStructEmpty) error {
	if err := dec.StartValue(__VDLType_union_127); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_127 {
		name := decType.Field(index).Name
		index = __VDLType_union_127.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VStructEmptyF10
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VNamedError represents any single field of the VUnionDepth1_VNamedError union type.
	VUnionDepth1_VNamedError 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 VUnionDepth1_VNamedError union type.
		__VDLReflect(__VUnionDepth1_VNamedErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VNamedErrorF11 represents field F11 of the VUnionDepth1_VNamedError union type.
	VUnionDepth1_VNamedErrorF11 struct{ Value VNamedError }
	// __VUnionDepth1_VNamedErrorReflect describes the VUnionDepth1_VNamedError union type.
	__VUnionDepth1_VNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VNamedError"`
		Type  VUnionDepth1_VNamedError
		Union struct {
			F11 VUnionDepth1_VNamedErrorF11
		}
	}
)

func (x VUnionDepth1_VNamedErrorF11) Index() int                                     { return 0 }
func (x VUnionDepth1_VNamedErrorF11) Interface() interface{}                         { return x.Value }
func (x VUnionDepth1_VNamedErrorF11) Name() string                                   { return "F11" }
func (x VUnionDepth1_VNamedErrorF11) __VDLReflect(__VUnionDepth1_VNamedErrorReflect) {}

func (x VUnionDepth1_VNamedErrorF11) VDLIsZero() bool {
	return x.Value == VNamedError{}
}

func (x VUnionDepth1_VNamedErrorF11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_128); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VNamedError(dec vdl.Decoder, x *VUnionDepth1_VNamedError) error {
	if err := dec.StartValue(__VDLType_union_128); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_128 {
		name := decType.Field(index).Name
		index = __VDLType_union_128.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VNamedErrorF11
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Error represents any single field of the VUnionDepth1_Error union type.
	VUnionDepth1_Error 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 VUnionDepth1_Error union type.
		__VDLReflect(__VUnionDepth1_ErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_ErrorF12 represents field F12 of the VUnionDepth1_Error union type.
	VUnionDepth1_ErrorF12 struct{ Value error }
	// __VUnionDepth1_ErrorReflect describes the VUnionDepth1_Error union type.
	__VUnionDepth1_ErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Error"`
		Type  VUnionDepth1_Error
		Union struct {
			F12 VUnionDepth1_ErrorF12
		}
	}
)

func (x VUnionDepth1_ErrorF12) Index() int                               { return 0 }
func (x VUnionDepth1_ErrorF12) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_ErrorF12) Name() string                             { return "F12" }
func (x VUnionDepth1_ErrorF12) __VDLReflect(__VUnionDepth1_ErrorReflect) {}

func (x VUnionDepth1_ErrorF12) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth1_ErrorF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_129); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := verror.VDLWrite(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Error(dec vdl.Decoder, x *VUnionDepth1_Error) error {
	if err := dec.StartValue(__VDLType_union_129); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_129 {
		name := decType.Field(index).Name
		index = __VDLType_union_129.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_ErrorF12
		if err := verror.VDLRead(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Uint16 represents any single field of the VUnionDepth1_Uint16 union type.
	VUnionDepth1_Uint16 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 VUnionDepth1_Uint16 union type.
		__VDLReflect(__VUnionDepth1_Uint16Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Uint16F13 represents field F13 of the VUnionDepth1_Uint16 union type.
	VUnionDepth1_Uint16F13 struct{ Value uint16 }
	// __VUnionDepth1_Uint16Reflect describes the VUnionDepth1_Uint16 union type.
	__VUnionDepth1_Uint16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Uint16"`
		Type  VUnionDepth1_Uint16
		Union struct {
			F13 VUnionDepth1_Uint16F13
		}
	}
)

func (x VUnionDepth1_Uint16F13) Index() int                                { return 0 }
func (x VUnionDepth1_Uint16F13) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_Uint16F13) Name() string                              { return "F13" }
func (x VUnionDepth1_Uint16F13) __VDLReflect(__VUnionDepth1_Uint16Reflect) {}

func (x VUnionDepth1_Uint16F13) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Uint16F13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_130); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, vdl.Uint16Type, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint16(dec vdl.Decoder, x *VUnionDepth1_Uint16) error {
	if err := dec.StartValue(__VDLType_union_130); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_130 {
		name := decType.Field(index).Name
		index = __VDLType_union_130.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Uint16F13
		switch value, err := dec.ReadValueUint(16); {
		case err != nil:
			return err
		default:
			field.Value = uint16(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VUint16 represents any single field of the VUnionDepth1_VUint16 union type.
	VUnionDepth1_VUint16 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 VUnionDepth1_VUint16 union type.
		__VDLReflect(__VUnionDepth1_VUint16Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VUint16F14 represents field F14 of the VUnionDepth1_VUint16 union type.
	VUnionDepth1_VUint16F14 struct{ Value VUint16 }
	// __VUnionDepth1_VUint16Reflect describes the VUnionDepth1_VUint16 union type.
	__VUnionDepth1_VUint16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VUint16"`
		Type  VUnionDepth1_VUint16
		Union struct {
			F14 VUnionDepth1_VUint16F14
		}
	}
)

func (x VUnionDepth1_VUint16F14) Index() int                                 { return 0 }
func (x VUnionDepth1_VUint16F14) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_VUint16F14) Name() string                               { return "F14" }
func (x VUnionDepth1_VUint16F14) __VDLReflect(__VUnionDepth1_VUint16Reflect) {}

func (x VUnionDepth1_VUint16F14) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VUint16F14) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_131); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, __VDLType_uint16_9, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint16(dec vdl.Decoder, x *VUnionDepth1_VUint16) error {
	if err := dec.StartValue(__VDLType_union_131); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_131 {
		name := decType.Field(index).Name
		index = __VDLType_union_131.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VUint16F14
		switch value, err := dec.ReadValueUint(16); {
		case err != nil:
			return err
		default:
			field.Value = VUint16(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Uint32 represents any single field of the VUnionDepth1_Uint32 union type.
	VUnionDepth1_Uint32 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 VUnionDepth1_Uint32 union type.
		__VDLReflect(__VUnionDepth1_Uint32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Uint32F15 represents field F15 of the VUnionDepth1_Uint32 union type.
	VUnionDepth1_Uint32F15 struct{ Value uint32 }
	// __VUnionDepth1_Uint32Reflect describes the VUnionDepth1_Uint32 union type.
	__VUnionDepth1_Uint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Uint32"`
		Type  VUnionDepth1_Uint32
		Union struct {
			F15 VUnionDepth1_Uint32F15
		}
	}
)

func (x VUnionDepth1_Uint32F15) Index() int                                { return 0 }
func (x VUnionDepth1_Uint32F15) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_Uint32F15) Name() string                              { return "F15" }
func (x VUnionDepth1_Uint32F15) __VDLReflect(__VUnionDepth1_Uint32Reflect) {}

func (x VUnionDepth1_Uint32F15) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Uint32F15) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_132); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, vdl.Uint32Type, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint32(dec vdl.Decoder, x *VUnionDepth1_Uint32) error {
	if err := dec.StartValue(__VDLType_union_132); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_132 {
		name := decType.Field(index).Name
		index = __VDLType_union_132.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Uint32F15
		switch value, err := dec.ReadValueUint(32); {
		case err != nil:
			return err
		default:
			field.Value = uint32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VUint32 represents any single field of the VUnionDepth1_VUint32 union type.
	VUnionDepth1_VUint32 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 VUnionDepth1_VUint32 union type.
		__VDLReflect(__VUnionDepth1_VUint32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VUint32F16 represents field F16 of the VUnionDepth1_VUint32 union type.
	VUnionDepth1_VUint32F16 struct{ Value VUint32 }
	// __VUnionDepth1_VUint32Reflect describes the VUnionDepth1_VUint32 union type.
	__VUnionDepth1_VUint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VUint32"`
		Type  VUnionDepth1_VUint32
		Union struct {
			F16 VUnionDepth1_VUint32F16
		}
	}
)

func (x VUnionDepth1_VUint32F16) Index() int                                 { return 0 }
func (x VUnionDepth1_VUint32F16) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_VUint32F16) Name() string                               { return "F16" }
func (x VUnionDepth1_VUint32F16) __VDLReflect(__VUnionDepth1_VUint32Reflect) {}

func (x VUnionDepth1_VUint32F16) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VUint32F16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_133); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, __VDLType_uint32_10, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint32(dec vdl.Decoder, x *VUnionDepth1_VUint32) error {
	if err := dec.StartValue(__VDLType_union_133); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_133 {
		name := decType.Field(index).Name
		index = __VDLType_union_133.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VUint32F16
		switch value, err := dec.ReadValueUint(32); {
		case err != nil:
			return err
		default:
			field.Value = VUint32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Uint64 represents any single field of the VUnionDepth1_Uint64 union type.
	VUnionDepth1_Uint64 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 VUnionDepth1_Uint64 union type.
		__VDLReflect(__VUnionDepth1_Uint64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Uint64F17 represents field F17 of the VUnionDepth1_Uint64 union type.
	VUnionDepth1_Uint64F17 struct{ Value uint64 }
	// __VUnionDepth1_Uint64Reflect describes the VUnionDepth1_Uint64 union type.
	__VUnionDepth1_Uint64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Uint64"`
		Type  VUnionDepth1_Uint64
		Union struct {
			F17 VUnionDepth1_Uint64F17
		}
	}
)

func (x VUnionDepth1_Uint64F17) Index() int                                { return 0 }
func (x VUnionDepth1_Uint64F17) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_Uint64F17) Name() string                              { return "F17" }
func (x VUnionDepth1_Uint64F17) __VDLReflect(__VUnionDepth1_Uint64Reflect) {}

func (x VUnionDepth1_Uint64F17) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Uint64F17) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_134); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, vdl.Uint64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint64(dec vdl.Decoder, x *VUnionDepth1_Uint64) error {
	if err := dec.StartValue(__VDLType_union_134); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_134 {
		name := decType.Field(index).Name
		index = __VDLType_union_134.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Uint64F17
		switch value, err := dec.ReadValueUint(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VUint64 represents any single field of the VUnionDepth1_VUint64 union type.
	VUnionDepth1_VUint64 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 VUnionDepth1_VUint64 union type.
		__VDLReflect(__VUnionDepth1_VUint64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VUint64F18 represents field F18 of the VUnionDepth1_VUint64 union type.
	VUnionDepth1_VUint64F18 struct{ Value VUint64 }
	// __VUnionDepth1_VUint64Reflect describes the VUnionDepth1_VUint64 union type.
	__VUnionDepth1_VUint64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VUint64"`
		Type  VUnionDepth1_VUint64
		Union struct {
			F18 VUnionDepth1_VUint64F18
		}
	}
)

func (x VUnionDepth1_VUint64F18) Index() int                                 { return 0 }
func (x VUnionDepth1_VUint64F18) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_VUint64F18) Name() string                               { return "F18" }
func (x VUnionDepth1_VUint64F18) __VDLReflect(__VUnionDepth1_VUint64Reflect) {}

func (x VUnionDepth1_VUint64F18) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VUint64F18) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_135); err != nil {
		return err
	}
	if err := enc.NextFieldValueUint(0, __VDLType_uint64_11, uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint64(dec vdl.Decoder, x *VUnionDepth1_VUint64) error {
	if err := dec.StartValue(__VDLType_union_135); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_135 {
		name := decType.Field(index).Name
		index = __VDLType_union_135.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VUint64F18
		switch value, err := dec.ReadValueUint(64); {
		case err != nil:
			return err
		default:
			field.Value = VUint64(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Int8 represents any single field of the VUnionDepth1_Int8 union type.
	VUnionDepth1_Int8 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 VUnionDepth1_Int8 union type.
		__VDLReflect(__VUnionDepth1_Int8Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Int8F19 represents field F19 of the VUnionDepth1_Int8 union type.
	VUnionDepth1_Int8F19 struct{ Value int8 }
	// __VUnionDepth1_Int8Reflect describes the VUnionDepth1_Int8 union type.
	__VUnionDepth1_Int8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Int8"`
		Type  VUnionDepth1_Int8
		Union struct {
			F19 VUnionDepth1_Int8F19
		}
	}
)

func (x VUnionDepth1_Int8F19) Index() int                              { return 0 }
func (x VUnionDepth1_Int8F19) Interface() interface{}                  { return x.Value }
func (x VUnionDepth1_Int8F19) Name() string                            { return "F19" }
func (x VUnionDepth1_Int8F19) __VDLReflect(__VUnionDepth1_Int8Reflect) {}

func (x VUnionDepth1_Int8F19) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Int8F19) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_136); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, vdl.Int8Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int8(dec vdl.Decoder, x *VUnionDepth1_Int8) error {
	if err := dec.StartValue(__VDLType_union_136); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_136 {
		name := decType.Field(index).Name
		index = __VDLType_union_136.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Int8F19
		switch value, err := dec.ReadValueInt(8); {
		case err != nil:
			return err
		default:
			field.Value = int8(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VInt8 represents any single field of the VUnionDepth1_VInt8 union type.
	VUnionDepth1_VInt8 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 VUnionDepth1_VInt8 union type.
		__VDLReflect(__VUnionDepth1_VInt8Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VInt8F20 represents field F20 of the VUnionDepth1_VInt8 union type.
	VUnionDepth1_VInt8F20 struct{ Value VInt8 }
	// __VUnionDepth1_VInt8Reflect describes the VUnionDepth1_VInt8 union type.
	__VUnionDepth1_VInt8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VInt8"`
		Type  VUnionDepth1_VInt8
		Union struct {
			F20 VUnionDepth1_VInt8F20
		}
	}
)

func (x VUnionDepth1_VInt8F20) Index() int                               { return 0 }
func (x VUnionDepth1_VInt8F20) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_VInt8F20) Name() string                             { return "F20" }
func (x VUnionDepth1_VInt8F20) __VDLReflect(__VUnionDepth1_VInt8Reflect) {}

func (x VUnionDepth1_VInt8F20) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VInt8F20) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_137); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, __VDLType_int8_12, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt8(dec vdl.Decoder, x *VUnionDepth1_VInt8) error {
	if err := dec.StartValue(__VDLType_union_137); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_137 {
		name := decType.Field(index).Name
		index = __VDLType_union_137.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VInt8F20
		switch value, err := dec.ReadValueInt(8); {
		case err != nil:
			return err
		default:
			field.Value = VInt8(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Int16 represents any single field of the VUnionDepth1_Int16 union type.
	VUnionDepth1_Int16 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 VUnionDepth1_Int16 union type.
		__VDLReflect(__VUnionDepth1_Int16Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Int16F21 represents field F21 of the VUnionDepth1_Int16 union type.
	VUnionDepth1_Int16F21 struct{ Value int16 }
	// __VUnionDepth1_Int16Reflect describes the VUnionDepth1_Int16 union type.
	__VUnionDepth1_Int16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Int16"`
		Type  VUnionDepth1_Int16
		Union struct {
			F21 VUnionDepth1_Int16F21
		}
	}
)

func (x VUnionDepth1_Int16F21) Index() int                               { return 0 }
func (x VUnionDepth1_Int16F21) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_Int16F21) Name() string                             { return "F21" }
func (x VUnionDepth1_Int16F21) __VDLReflect(__VUnionDepth1_Int16Reflect) {}

func (x VUnionDepth1_Int16F21) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Int16F21) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_138); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, vdl.Int16Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int16(dec vdl.Decoder, x *VUnionDepth1_Int16) error {
	if err := dec.StartValue(__VDLType_union_138); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_138 {
		name := decType.Field(index).Name
		index = __VDLType_union_138.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Int16F21
		switch value, err := dec.ReadValueInt(16); {
		case err != nil:
			return err
		default:
			field.Value = int16(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VInt16 represents any single field of the VUnionDepth1_VInt16 union type.
	VUnionDepth1_VInt16 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 VUnionDepth1_VInt16 union type.
		__VDLReflect(__VUnionDepth1_VInt16Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VInt16F22 represents field F22 of the VUnionDepth1_VInt16 union type.
	VUnionDepth1_VInt16F22 struct{ Value VInt16 }
	// __VUnionDepth1_VInt16Reflect describes the VUnionDepth1_VInt16 union type.
	__VUnionDepth1_VInt16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VInt16"`
		Type  VUnionDepth1_VInt16
		Union struct {
			F22 VUnionDepth1_VInt16F22
		}
	}
)

func (x VUnionDepth1_VInt16F22) Index() int                                { return 0 }
func (x VUnionDepth1_VInt16F22) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_VInt16F22) Name() string                              { return "F22" }
func (x VUnionDepth1_VInt16F22) __VDLReflect(__VUnionDepth1_VInt16Reflect) {}

func (x VUnionDepth1_VInt16F22) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VInt16F22) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_139); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, __VDLType_int16_13, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt16(dec vdl.Decoder, x *VUnionDepth1_VInt16) error {
	if err := dec.StartValue(__VDLType_union_139); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_139 {
		name := decType.Field(index).Name
		index = __VDLType_union_139.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VInt16F22
		switch value, err := dec.ReadValueInt(16); {
		case err != nil:
			return err
		default:
			field.Value = VInt16(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Int32 represents any single field of the VUnionDepth1_Int32 union type.
	VUnionDepth1_Int32 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 VUnionDepth1_Int32 union type.
		__VDLReflect(__VUnionDepth1_Int32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Int32F23 represents field F23 of the VUnionDepth1_Int32 union type.
	VUnionDepth1_Int32F23 struct{ Value int32 }
	// __VUnionDepth1_Int32Reflect describes the VUnionDepth1_Int32 union type.
	__VUnionDepth1_Int32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Int32"`
		Type  VUnionDepth1_Int32
		Union struct {
			F23 VUnionDepth1_Int32F23
		}
	}
)

func (x VUnionDepth1_Int32F23) Index() int                               { return 0 }
func (x VUnionDepth1_Int32F23) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_Int32F23) Name() string                             { return "F23" }
func (x VUnionDepth1_Int32F23) __VDLReflect(__VUnionDepth1_Int32Reflect) {}

func (x VUnionDepth1_Int32F23) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Int32F23) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_140); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, vdl.Int32Type, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int32(dec vdl.Decoder, x *VUnionDepth1_Int32) error {
	if err := dec.StartValue(__VDLType_union_140); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_140 {
		name := decType.Field(index).Name
		index = __VDLType_union_140.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Int32F23
		switch value, err := dec.ReadValueInt(32); {
		case err != nil:
			return err
		default:
			field.Value = int32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VInt32 represents any single field of the VUnionDepth1_VInt32 union type.
	VUnionDepth1_VInt32 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 VUnionDepth1_VInt32 union type.
		__VDLReflect(__VUnionDepth1_VInt32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VInt32F24 represents field F24 of the VUnionDepth1_VInt32 union type.
	VUnionDepth1_VInt32F24 struct{ Value VInt32 }
	// __VUnionDepth1_VInt32Reflect describes the VUnionDepth1_VInt32 union type.
	__VUnionDepth1_VInt32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VInt32"`
		Type  VUnionDepth1_VInt32
		Union struct {
			F24 VUnionDepth1_VInt32F24
		}
	}
)

func (x VUnionDepth1_VInt32F24) Index() int                                { return 0 }
func (x VUnionDepth1_VInt32F24) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_VInt32F24) Name() string                              { return "F24" }
func (x VUnionDepth1_VInt32F24) __VDLReflect(__VUnionDepth1_VInt32Reflect) {}

func (x VUnionDepth1_VInt32F24) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VInt32F24) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_141); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, __VDLType_int32_14, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt32(dec vdl.Decoder, x *VUnionDepth1_VInt32) error {
	if err := dec.StartValue(__VDLType_union_141); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_141 {
		name := decType.Field(index).Name
		index = __VDLType_union_141.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VInt32F24
		switch value, err := dec.ReadValueInt(32); {
		case err != nil:
			return err
		default:
			field.Value = VInt32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Int64 represents any single field of the VUnionDepth1_Int64 union type.
	VUnionDepth1_Int64 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 VUnionDepth1_Int64 union type.
		__VDLReflect(__VUnionDepth1_Int64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Int64F25 represents field F25 of the VUnionDepth1_Int64 union type.
	VUnionDepth1_Int64F25 struct{ Value int64 }
	// __VUnionDepth1_Int64Reflect describes the VUnionDepth1_Int64 union type.
	__VUnionDepth1_Int64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Int64"`
		Type  VUnionDepth1_Int64
		Union struct {
			F25 VUnionDepth1_Int64F25
		}
	}
)

func (x VUnionDepth1_Int64F25) Index() int                               { return 0 }
func (x VUnionDepth1_Int64F25) Interface() interface{}                   { return x.Value }
func (x VUnionDepth1_Int64F25) Name() string                             { return "F25" }
func (x VUnionDepth1_Int64F25) __VDLReflect(__VUnionDepth1_Int64Reflect) {}

func (x VUnionDepth1_Int64F25) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Int64F25) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_142); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, vdl.Int64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int64(dec vdl.Decoder, x *VUnionDepth1_Int64) error {
	if err := dec.StartValue(__VDLType_union_142); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_142 {
		name := decType.Field(index).Name
		index = __VDLType_union_142.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Int64F25
		switch value, err := dec.ReadValueInt(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VInt64 represents any single field of the VUnionDepth1_VInt64 union type.
	VUnionDepth1_VInt64 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 VUnionDepth1_VInt64 union type.
		__VDLReflect(__VUnionDepth1_VInt64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VInt64F26 represents field F26 of the VUnionDepth1_VInt64 union type.
	VUnionDepth1_VInt64F26 struct{ Value VInt64 }
	// __VUnionDepth1_VInt64Reflect describes the VUnionDepth1_VInt64 union type.
	__VUnionDepth1_VInt64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VInt64"`
		Type  VUnionDepth1_VInt64
		Union struct {
			F26 VUnionDepth1_VInt64F26
		}
	}
)

func (x VUnionDepth1_VInt64F26) Index() int                                { return 0 }
func (x VUnionDepth1_VInt64F26) Interface() interface{}                    { return x.Value }
func (x VUnionDepth1_VInt64F26) Name() string                              { return "F26" }
func (x VUnionDepth1_VInt64F26) __VDLReflect(__VUnionDepth1_VInt64Reflect) {}

func (x VUnionDepth1_VInt64F26) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VInt64F26) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_143); err != nil {
		return err
	}
	if err := enc.NextFieldValueInt(0, __VDLType_int64_15, int64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt64(dec vdl.Decoder, x *VUnionDepth1_VInt64) error {
	if err := dec.StartValue(__VDLType_union_143); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_143 {
		name := decType.Field(index).Name
		index = __VDLType_union_143.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VInt64F26
		switch value, err := dec.ReadValueInt(64); {
		case err != nil:
			return err
		default:
			field.Value = VInt64(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Float32 represents any single field of the VUnionDepth1_Float32 union type.
	VUnionDepth1_Float32 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 VUnionDepth1_Float32 union type.
		__VDLReflect(__VUnionDepth1_Float32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Float32F27 represents field F27 of the VUnionDepth1_Float32 union type.
	VUnionDepth1_Float32F27 struct{ Value float32 }
	// __VUnionDepth1_Float32Reflect describes the VUnionDepth1_Float32 union type.
	__VUnionDepth1_Float32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Float32"`
		Type  VUnionDepth1_Float32
		Union struct {
			F27 VUnionDepth1_Float32F27
		}
	}
)

func (x VUnionDepth1_Float32F27) Index() int                                 { return 0 }
func (x VUnionDepth1_Float32F27) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_Float32F27) Name() string                               { return "F27" }
func (x VUnionDepth1_Float32F27) __VDLReflect(__VUnionDepth1_Float32Reflect) {}

func (x VUnionDepth1_Float32F27) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Float32F27) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_144); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(0, vdl.Float32Type, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Float32(dec vdl.Decoder, x *VUnionDepth1_Float32) error {
	if err := dec.StartValue(__VDLType_union_144); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_144 {
		name := decType.Field(index).Name
		index = __VDLType_union_144.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Float32F27
		switch value, err := dec.ReadValueFloat(32); {
		case err != nil:
			return err
		default:
			field.Value = float32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VFloat32 represents any single field of the VUnionDepth1_VFloat32 union type.
	VUnionDepth1_VFloat32 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 VUnionDepth1_VFloat32 union type.
		__VDLReflect(__VUnionDepth1_VFloat32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VFloat32F28 represents field F28 of the VUnionDepth1_VFloat32 union type.
	VUnionDepth1_VFloat32F28 struct{ Value VFloat32 }
	// __VUnionDepth1_VFloat32Reflect describes the VUnionDepth1_VFloat32 union type.
	__VUnionDepth1_VFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VFloat32"`
		Type  VUnionDepth1_VFloat32
		Union struct {
			F28 VUnionDepth1_VFloat32F28
		}
	}
)

func (x VUnionDepth1_VFloat32F28) Index() int                                  { return 0 }
func (x VUnionDepth1_VFloat32F28) Interface() interface{}                      { return x.Value }
func (x VUnionDepth1_VFloat32F28) Name() string                                { return "F28" }
func (x VUnionDepth1_VFloat32F28) __VDLReflect(__VUnionDepth1_VFloat32Reflect) {}

func (x VUnionDepth1_VFloat32F28) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VFloat32F28) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_145); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(0, __VDLType_float32_16, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VFloat32(dec vdl.Decoder, x *VUnionDepth1_VFloat32) error {
	if err := dec.StartValue(__VDLType_union_145); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_145 {
		name := decType.Field(index).Name
		index = __VDLType_union_145.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VFloat32F28
		switch value, err := dec.ReadValueFloat(32); {
		case err != nil:
			return err
		default:
			field.Value = VFloat32(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_Float64 represents any single field of the VUnionDepth1_Float64 union type.
	VUnionDepth1_Float64 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 VUnionDepth1_Float64 union type.
		__VDLReflect(__VUnionDepth1_Float64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_Float64F29 represents field F29 of the VUnionDepth1_Float64 union type.
	VUnionDepth1_Float64F29 struct{ Value float64 }
	// __VUnionDepth1_Float64Reflect describes the VUnionDepth1_Float64 union type.
	__VUnionDepth1_Float64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_Float64"`
		Type  VUnionDepth1_Float64
		Union struct {
			F29 VUnionDepth1_Float64F29
		}
	}
)

func (x VUnionDepth1_Float64F29) Index() int                                 { return 0 }
func (x VUnionDepth1_Float64F29) Interface() interface{}                     { return x.Value }
func (x VUnionDepth1_Float64F29) Name() string                               { return "F29" }
func (x VUnionDepth1_Float64F29) __VDLReflect(__VUnionDepth1_Float64Reflect) {}

func (x VUnionDepth1_Float64F29) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_Float64F29) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_146); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(0, vdl.Float64Type, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Float64(dec vdl.Decoder, x *VUnionDepth1_Float64) error {
	if err := dec.StartValue(__VDLType_union_146); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_146 {
		name := decType.Field(index).Name
		index = __VDLType_union_146.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_Float64F29
		switch value, err := dec.ReadValueFloat(64); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_VFloat64 represents any single field of the VUnionDepth1_VFloat64 union type.
	VUnionDepth1_VFloat64 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 VUnionDepth1_VFloat64 union type.
		__VDLReflect(__VUnionDepth1_VFloat64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_VFloat64F30 represents field F30 of the VUnionDepth1_VFloat64 union type.
	VUnionDepth1_VFloat64F30 struct{ Value VFloat64 }
	// __VUnionDepth1_VFloat64Reflect describes the VUnionDepth1_VFloat64 union type.
	__VUnionDepth1_VFloat64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_VFloat64"`
		Type  VUnionDepth1_VFloat64
		Union struct {
			F30 VUnionDepth1_VFloat64F30
		}
	}
)

func (x VUnionDepth1_VFloat64F30) Index() int                                  { return 0 }
func (x VUnionDepth1_VFloat64F30) Interface() interface{}                      { return x.Value }
func (x VUnionDepth1_VFloat64F30) Name() string                                { return "F30" }
func (x VUnionDepth1_VFloat64F30) __VDLReflect(__VUnionDepth1_VFloat64Reflect) {}

func (x VUnionDepth1_VFloat64F30) VDLIsZero() bool {
	return x.Value == 0
}

func (x VUnionDepth1_VFloat64F30) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_147); err != nil {
		return err
	}
	if err := enc.NextFieldValueFloat(0, __VDLType_float64_17, float64(x.Value)); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VFloat64(dec vdl.Decoder, x *VUnionDepth1_VFloat64) error {
	if err := dec.StartValue(__VDLType_union_147); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_147 {
		name := decType.Field(index).Name
		index = __VDLType_union_147.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_VFloat64F30
		switch value, err := dec.ReadValueFloat(64); {
		case err != nil:
			return err
		default:
			field.Value = VFloat64(value)
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_OptVStructEmpty represents any single field of the VUnionDepth1_OptVStructEmpty union type.
	VUnionDepth1_OptVStructEmpty 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 VUnionDepth1_OptVStructEmpty union type.
		__VDLReflect(__VUnionDepth1_OptVStructEmptyReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_OptVStructEmptyF31 represents field F31 of the VUnionDepth1_OptVStructEmpty union type.
	VUnionDepth1_OptVStructEmptyF31 struct{ Value *VStructEmpty }
	// __VUnionDepth1_OptVStructEmptyReflect describes the VUnionDepth1_OptVStructEmpty union type.
	__VUnionDepth1_OptVStructEmptyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_OptVStructEmpty"`
		Type  VUnionDepth1_OptVStructEmpty
		Union struct {
			F31 VUnionDepth1_OptVStructEmptyF31
		}
	}
)

func (x VUnionDepth1_OptVStructEmptyF31) Index() int                                         { return 0 }
func (x VUnionDepth1_OptVStructEmptyF31) Interface() interface{}                             { return x.Value }
func (x VUnionDepth1_OptVStructEmptyF31) Name() string                                       { return "F31" }
func (x VUnionDepth1_OptVStructEmptyF31) __VDLReflect(__VUnionDepth1_OptVStructEmptyReflect) {}

func (x VUnionDepth1_OptVStructEmptyF31) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth1_OptVStructEmptyF31) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_148); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_35); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_OptVStructEmpty(dec vdl.Decoder, x *VUnionDepth1_OptVStructEmpty) error {
	if err := dec.StartValue(__VDLType_union_148); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_148 {
		name := decType.Field(index).Name
		index = __VDLType_union_148.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_OptVStructEmptyF31
		if err := dec.StartValue(__VDLType_optional_35); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructEmpty)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth1_OptVNamedError represents any single field of the VUnionDepth1_OptVNamedError union type.
	VUnionDepth1_OptVNamedError 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 VUnionDepth1_OptVNamedError union type.
		__VDLReflect(__VUnionDepth1_OptVNamedErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth1_OptVNamedErrorF32 represents field F32 of the VUnionDepth1_OptVNamedError union type.
	VUnionDepth1_OptVNamedErrorF32 struct{ Value *VNamedError }
	// __VUnionDepth1_OptVNamedErrorReflect describes the VUnionDepth1_OptVNamedError union type.
	__VUnionDepth1_OptVNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth1_OptVNamedError"`
		Type  VUnionDepth1_OptVNamedError
		Union struct {
			F32 VUnionDepth1_OptVNamedErrorF32
		}
	}
)

func (x VUnionDepth1_OptVNamedErrorF32) Index() int                                        { return 0 }
func (x VUnionDepth1_OptVNamedErrorF32) Interface() interface{}                            { return x.Value }
func (x VUnionDepth1_OptVNamedErrorF32) Name() string                                      { return "F32" }
func (x VUnionDepth1_OptVNamedErrorF32) __VDLReflect(__VUnionDepth1_OptVNamedErrorReflect) {}

func (x VUnionDepth1_OptVNamedErrorF32) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth1_OptVNamedErrorF32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_149); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_37); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_OptVNamedError(dec vdl.Decoder, x *VUnionDepth1_OptVNamedError) error {
	if err := dec.StartValue(__VDLType_union_149); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_149 {
		name := decType.Field(index).Name
		index = __VDLType_union_149.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth1_OptVNamedErrorF32
		if err := dec.StartValue(__VDLType_optional_37); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VNamedError)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type VArray1_VArray3_Int64 [1]VArray3_Int64

func (VArray1_VArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_VArray3_Int64"`
}) {
}

func (x VArray1_VArray3_Int64) VDLIsZero() bool {
	return x == VArray1_VArray3_Int64{}
}

func (x VArray1_VArray3_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_150); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_VArray3_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_150); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_VList_Byte [1]VList_Byte

func (VArray1_VList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_VList_Byte"`
}) {
}

func (x VArray1_VList_Byte) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray1_VList_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_151); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueBytes(__VDLType_list_44, []byte(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_VList_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_151); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			var bytes []byte
			if err := dec.ReadValueBytes(-1, &bytes); err != nil {
				return err
			}
			x[index] = bytes
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray1_Set_VEnumBcd [1]map[VEnumBcd]struct{}

func (VArray1_Set_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_Set_VEnumBcd"`
}) {
}

func (x VArray1_Set_VEnumBcd) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray1_Set_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_152); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_1(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_1(enc vdl.Encoder, x map[VEnumBcd]struct{}) error {
	if err := enc.StartValue(__VDLType_set_153); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueString(__VDLType_enum_6, key.String()); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_Set_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_152); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := __VDLReadAnon_set_1(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

func __VDLReadAnon_set_1(dec vdl.Decoder, x *map[VEnumBcd]struct{}) error {
	if err := dec.StartValue(__VDLType_set_153); err != nil {
		return err
	}
	var tmpMap map[VEnumBcd]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VEnumBcd]struct{}, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var keyEnum VEnumBcd
			if err := keyEnum.Set(key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(map[VEnumBcd]struct{})
			}
			tmpMap[keyEnum] = struct{}{}
		}
	}
}

type VArray2_Map_Byte_Byte [2]map[byte]byte

func (VArray2_Map_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_Map_Byte_Byte"`
}) {
}

func (x VArray2_Map_Byte_Byte) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray2_Map_Byte_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_154); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_2(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_2(enc vdl.Encoder, x map[byte]byte) error {
	if err := enc.StartValue(__VDLType_map_155); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueUint(vdl.ByteType, uint64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueUint(vdl.ByteType, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_Map_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_154); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := __VDLReadAnon_map_2(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

func __VDLReadAnon_map_2(dec vdl.Decoder, x *map[byte]byte) error {
	if err := dec.StartValue(__VDLType_map_155); err != nil {
		return err
	}
	var tmpMap map[byte]byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[byte]byte, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(8); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem byte
			switch value, err := dec.ReadValueUint(8); {
			case err != nil:
				return err
			default:
				elem = byte(value)
			}
			if tmpMap == nil {
				tmpMap = make(map[byte]byte)
			}
			tmpMap[byte(key)] = elem
		}
	}
}

type VArray2_VStructDepth1_All [2]VStructDepth1_All

func (VArray2_VStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VStructDepth1_All"`
}) {
}

func (x VArray2_VStructDepth1_All) VDLIsZero() bool {
	for _, elem := range x {
		if !elem.VDLIsZero() {
			return false
		}
	}
	return true
}

func (x VArray2_VStructDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_156); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VStructDepth1_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_156); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_VUnionDepth1_All [3]VUnionDepth1_All

func (VArray3_VUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_VUnionDepth1_All"`
}) {
}

func (x VArray3_VUnionDepth1_All) VDLIsZero() bool {
	for _, elem := range x {
		if elem != nil && !elem.VDLIsZero() {
			return false
		}
	}
	return true
}

func (x VArray3_VUnionDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_157); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_116).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_VUnionDepth1_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_157); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			if err := VDLReadVUnionDepth1_All(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_OptVStructDepth1_VFloat32 [3]*VStructDepth1_VFloat32

func (VArray3_OptVStructDepth1_VFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_OptVStructDepth1_VFloat32"`
}) {
}

func (x VArray3_OptVStructDepth1_VFloat32) VDLIsZero() bool {
	return x == VArray3_OptVStructDepth1_VFloat32{}
}

func (x VArray3_OptVStructDepth1_VFloat32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_158); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_159); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_OptVStructDepth1_VFloat32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_158); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			if err := dec.StartValue(__VDLType_optional_159); err != nil {
				return err
			}
			if dec.IsNil() {
				x[index] = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x[index] = new(VStructDepth1_VFloat32)
				dec.IgnoreNextStartValue()
				if err := x[index].VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VList_VArray1_VStructEmpty []VArray1_VStructEmpty

func (VList_VArray1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VArray1_VStructEmpty"`
}) {
}

func (x VList_VArray1_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VArray1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_160); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VArray1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_160); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VArray1_VStructEmpty, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VArray1_VStructEmpty
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_List_VString [][]VString

func (VList_List_VString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_List_VString"`
}) {
}

func (x VList_List_VString) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_List_VString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_161); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_3(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_3(enc vdl.Encoder, x []VString) error {
	if err := enc.StartValue(__VDLType_list_162); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(__VDLType_string_3, string(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_List_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_161); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_List_VString, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem []VString
			if err := __VDLReadAnon_list_3(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

func __VDLReadAnon_list_3(dec vdl.Decoder, x *[]VString) error {
	if err := dec.StartValue(__VDLType_list_162); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make([]VString, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, VString(elem))
		}
	}
}

type VList_Set_VBool []map[VBool]struct{}

func (VList_Set_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_Set_VBool"`
}) {
}

func (x VList_Set_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_Set_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_163); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_4(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_4(enc vdl.Encoder, x map[VBool]struct{}) error {
	if err := enc.StartValue(__VDLType_set_164); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(key)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_Set_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_163); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_Set_VBool, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem map[VBool]struct{}
			if err := __VDLReadAnon_set_4(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

func __VDLReadAnon_set_4(dec vdl.Decoder, x *map[VBool]struct{}) error {
	if err := dec.StartValue(__VDLType_set_164); err != nil {
		return err
	}
	var tmpMap map[VBool]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VBool]struct{}, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(map[VBool]struct{})
			}
			tmpMap[VBool(key)] = struct{}{}
		}
	}
}

type VList_VMap_Byte_Byte []VMap_Byte_Byte

func (VList_VMap_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VMap_Byte_Byte"`
}) {
}

func (x VList_VMap_Byte_Byte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VMap_Byte_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_165); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VMap_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_165); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VMap_Byte_Byte, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VMap_Byte_Byte
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VStructDepth1_All []VStructDepth1_All

func (VList_VStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VStructDepth1_All"`
}) {
}

func (x VList_VStructDepth1_All) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VStructDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_166); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VStructDepth1_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_166); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VStructDepth1_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VStructDepth1_All
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VUnionDepth1_All []VUnionDepth1_All

func (VList_VUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VUnionDepth1_All"`
}) {
}

func (x VList_VUnionDepth1_All) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VUnionDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_167); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_116).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VUnionDepth1_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_167); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VUnionDepth1_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VUnionDepth1_All
			if err := VDLReadVUnionDepth1_All(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_OptVStructDepth1_VEnumBcd []*VStructDepth1_VEnumBcd

func (VList_OptVStructDepth1_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_OptVStructDepth1_VEnumBcd"`
}) {
}

func (x VList_OptVStructDepth1_VEnumBcd) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_OptVStructDepth1_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_168); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_169); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_OptVStructDepth1_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_168); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_OptVStructDepth1_VEnumBcd, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem *VStructDepth1_VEnumBcd
			if err := dec.StartValue(__VDLType_optional_169); err != nil {
				return err
			}
			if dec.IsNil() {
				elem = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				elem = new(VStructDepth1_VEnumBcd)
				dec.IgnoreNextStartValue()
				if err := elem.VDLRead(dec); err != nil {
					return err
				}
			}
			*x = append(*x, elem)
		}
	}
}

type VSet_VArray1_VStructEmpty map[VArray1_VStructEmpty]struct{}

func (VSet_VArray1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VArray1_VStructEmpty"`
}) {
}

func (x VSet_VArray1_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VArray1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_170); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VArray1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_170); err != nil {
		return err
	}
	var tmpMap VSet_VArray1_VStructEmpty
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VArray1_VStructEmpty, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VArray1_VStructEmpty
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VArray1_VStructEmpty)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VStructDepth1_VFloat64 map[VStructDepth1_VFloat64]struct{}

func (VSet_VStructDepth1_VFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VStructDepth1_VFloat64"`
}) {
}

func (x VSet_VStructDepth1_VFloat64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VStructDepth1_VFloat64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_171); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VStructDepth1_VFloat64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_171); err != nil {
		return err
	}
	var tmpMap VSet_VStructDepth1_VFloat64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VStructDepth1_VFloat64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructDepth1_VFloat64
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VStructDepth1_VFloat64)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VUnionDepth1_VInt8 map[VUnionDepth1_VInt8]struct{}

func (VSet_VUnionDepth1_VInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VUnionDepth1_VInt8"`
}) {
}

func (x VSet_VUnionDepth1_VInt8) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VUnionDepth1_VInt8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_172); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_137).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VUnionDepth1_VInt8) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_172); err != nil {
		return err
	}
	var tmpMap VSet_VUnionDepth1_VInt8
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VUnionDepth1_VInt8, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth1_VInt8
			if err := VDLReadVUnionDepth1_VInt8(dec, &key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VUnionDepth1_VInt8)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VMap_VArray3_VBool_VArray3_VBool map[VArray3_VBool]VArray3_VBool

func (VMap_VArray3_VBool_VArray3_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VArray3_VBool_VArray3_VBool"`
}) {
}

func (x VMap_VArray3_VBool_VArray3_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VArray3_VBool_VArray3_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_173); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VArray3_VBool_VArray3_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_173); err != nil {
		return err
	}
	var tmpMap VMap_VArray3_VBool_VArray3_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VArray3_VBool_VArray3_VBool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VArray3_VBool
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VArray3_VBool
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VArray3_VBool_VArray3_VBool)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VStructDepth1_VBool_VStructDepth1_VBool map[VStructDepth1_VBool]VStructDepth1_VBool

func (VMap_VStructDepth1_VBool_VStructDepth1_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VStructDepth1_VBool_VStructDepth1_VBool"`
}) {
}

func (x VMap_VStructDepth1_VBool_VStructDepth1_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VStructDepth1_VBool_VStructDepth1_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_174); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VStructDepth1_VBool_VStructDepth1_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_174); err != nil {
		return err
	}
	var tmpMap VMap_VStructDepth1_VBool_VStructDepth1_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VStructDepth1_VBool_VStructDepth1_VBool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructDepth1_VBool
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VStructDepth1_VBool
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VStructDepth1_VBool_VStructDepth1_VBool)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64 map[VUnionDepth1_VUint64]VUnionDepth1_VUint64

func (VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64"`
}) {
}

func (x VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_175); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_135).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_135).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_175); err != nil {
		return err
	}
	var tmpMap VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth1_VUint64
			if err := VDLReadVUnionDepth1_VUint64(dec, &key); err != nil {
				return err
			}
			var elem VUnionDepth1_VUint64
			if err := VDLReadVUnionDepth1_VUint64(dec, &elem); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64)
			}
			tmpMap[key] = elem
		}
	}
}

type VStructDepth2_All struct {
	F0  VArray2_TypeObject
	F1  VArray1_Uint32
	F2  []int16
	F3  VList_Any
	F4  map[float64]struct{}
	F5  VSet_VEnumBcd
	F6  map[byte]byte
	F7  map[uint32]uint32
	F8  VStructDepth1_All
	F9  VStructDepth1_Bool
	F10 VUnionDepth1_All
	F11 VUnionDepth1_Float64
	F12 *VStructDepth1_VEnumBcd
	F13 *VStructDepth1_VUint16
}

func (VStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_All"`
}) {
}

func (x VStructDepth2_All) VDLIsZero() bool {
	if !x.F0.VDLIsZero() {
		return false
	}
	if x.F1 != (VArray1_Uint32{}) {
		return false
	}
	if len(x.F2) != 0 {
		return false
	}
	if len(x.F3) != 0 {
		return false
	}
	if len(x.F4) != 0 {
		return false
	}
	if len(x.F5) != 0 {
		return false
	}
	if len(x.F6) != 0 {
		return false
	}
	if len(x.F7) != 0 {
		return false
	}
	if !x.F8.VDLIsZero() {
		return false
	}
	if x.F9 != (VStructDepth1_Bool{}) {
		return false
	}
	if x.F10 != nil && !x.F10.VDLIsZero() {
		return false
	}
	if x.F11 != nil && !x.F11.VDLIsZero() {
		return false
	}
	if x.F12 != nil {
		return false
	}
	if x.F13 != nil {
		return false
	}
	return true
}

func (x VStructDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_176); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F1 != (VArray1_Uint32{}) {
		if err := enc.NextField(1); err != nil {
			return err
		}
		if err := x.F1.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F2) != 0 {
		if err := enc.NextField(2); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_5(enc, x.F2); err != nil {
			return err
		}
	}
	if len(x.F3) != 0 {
		if err := enc.NextField(3); err != nil {
			return err
		}
		if err := x.F3.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F4) != 0 {
		if err := enc.NextField(4); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_6(enc, x.F4); err != nil {
			return err
		}
	}
	if len(x.F5) != 0 {
		if err := enc.NextField(5); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F6) != 0 {
		if err := enc.NextField(6); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_2(enc, x.F6); err != nil {
			return err
		}
	}
	if len(x.F7) != 0 {
		if err := enc.NextField(7); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_7(enc, x.F7); err != nil {
			return err
		}
	}
	if !x.F8.VDLIsZero() {
		if err := enc.NextField(8); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F9 != (VStructDepth1_Bool{}) {
		if err := enc.NextField(9); err != nil {
			return err
		}
		if err := x.F9.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F10 != nil && !x.F10.VDLIsZero() {
		if err := enc.NextField(10); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F11 != nil && !x.F11.VDLIsZero() {
		if err := enc.NextField(11); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F12 != nil {
		if err := enc.NextField(12); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F12.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F13 != nil {
		if err := enc.NextField(13); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F13.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_5(enc vdl.Encoder, x []int16) error {
	if err := enc.StartValue(__VDLType_list_177); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueInt(vdl.Int16Type, int64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_6(enc vdl.Encoder, x map[float64]struct{}) error {
	if err := enc.StartValue(__VDLType_set_178); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntryValueFloat(vdl.Float64Type, key); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_7(enc vdl.Encoder, x map[uint32]uint32) error {
	if err := enc.StartValue(__VDLType_map_179); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueUint(vdl.Uint32Type, uint64(key)); err != nil {
			return err
		}
		if err := enc.WriteValueUint(vdl.Uint32Type, uint64(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_All{
		F0: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		F8: VStructDepth1_All{
			F5: vdl.AnyType,
		},
		F10: VUnionDepth1_AllF0{},
		F11: VUnionDepth1_Float64F29{},
	}
	if err := dec.StartValue(__VDLType_struct_176); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_176 {
			index = __VDLType_struct_176.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		case 1:
			if err := x.F1.VDLRead(dec); err != nil {
				return err
			}
		case 2:
			if err := __VDLReadAnon_list_5(dec, &x.F2); err != nil {
				return err
			}
		case 3:
			if err := x.F3.VDLRead(dec); err != nil {
				return err
			}
		case 4:
			if err := __VDLReadAnon_set_6(dec, &x.F4); err != nil {
				return err
			}
		case 5:
			if err := x.F5.VDLRead(dec); err != nil {
				return err
			}
		case 6:
			if err := __VDLReadAnon_map_2(dec, &x.F6); err != nil {
				return err
			}
		case 7:
			if err := __VDLReadAnon_map_7(dec, &x.F7); err != nil {
				return err
			}
		case 8:
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		case 9:
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		case 10:
			if err := VDLReadVUnionDepth1_All(dec, &x.F10); err != nil {
				return err
			}
		case 11:
			if err := VDLReadVUnionDepth1_Float64(dec, &x.F11); err != nil {
				return err
			}
		case 12:
			if err := dec.StartValue(__VDLType_optional_169); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F12 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F12 = new(VStructDepth1_VEnumBcd)
				dec.IgnoreNextStartValue()
				if err := x.F12.VDLRead(dec); err != nil {
					return err
				}
			}
		case 13:
			if err := dec.StartValue(__VDLType_optional_180); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F13 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F13 = new(VStructDepth1_VUint16)
				dec.IgnoreNextStartValue()
				if err := x.F13.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

func __VDLReadAnon_list_5(dec vdl.Decoder, x *[]int16) error {
	if err := dec.StartValue(__VDLType_list_177); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make([]int16, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueInt(16); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*x = append(*x, int16(elem))
		}
	}
}

func __VDLReadAnon_set_6(dec vdl.Decoder, x *map[float64]struct{}) error {
	if err := dec.StartValue(__VDLType_set_178); err != nil {
		return err
	}
	var tmpMap map[float64]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[float64]struct{}, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueFloat(64); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			if tmpMap == nil {
				tmpMap = make(map[float64]struct{})
			}
			tmpMap[key] = struct{}{}
		}
	}
}

func __VDLReadAnon_map_7(dec vdl.Decoder, x *map[uint32]uint32) error {
	if err := dec.StartValue(__VDLType_map_179); err != nil {
		return err
	}
	var tmpMap map[uint32]uint32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[uint32]uint32, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueUint(32); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem uint32
			switch value, err := dec.ReadValueUint(32); {
			case err != nil:
				return err
			default:
				elem = uint32(value)
			}
			if tmpMap == nil {
				tmpMap = make(map[uint32]uint32)
			}
			tmpMap[uint32(key)] = elem
		}
	}
}

type VStructDepth2_VArray2_TypeObject struct {
	F0 VArray2_TypeObject
}

func (VStructDepth2_VArray2_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VArray2_TypeObject"`
}) {
}

func (x VStructDepth2_VArray2_TypeObject) VDLIsZero() bool {
	if !x.F0.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth2_VArray2_TypeObject) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_181); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VArray2_TypeObject) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VArray2_TypeObject{
		F0: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
	}
	if err := dec.StartValue(__VDLType_struct_181); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_181 {
			index = __VDLType_struct_181.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VArray1_Uint32 struct {
	F1 VArray1_Uint32
}

func (VStructDepth2_VArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VArray1_Uint32"`
}) {
}

func (x VStructDepth2_VArray1_Uint32) VDLIsZero() bool {
	return x == VStructDepth2_VArray1_Uint32{}
}

func (x VStructDepth2_VArray1_Uint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_182); err != nil {
		return err
	}
	if x.F1 != (VArray1_Uint32{}) {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F1.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VArray1_Uint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VArray1_Uint32{}
	if err := dec.StartValue(__VDLType_struct_182); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_182 {
			index = __VDLType_struct_182.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F1.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_List_Int16 struct {
	F2 []int16
}

func (VStructDepth2_List_Int16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_List_Int16"`
}) {
}

func (x VStructDepth2_List_Int16) VDLIsZero() bool {
	if len(x.F2) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_List_Int16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_183); err != nil {
		return err
	}
	if len(x.F2) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_5(enc, x.F2); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_List_Int16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_List_Int16{}
	if err := dec.StartValue(__VDLType_struct_183); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_183 {
			index = __VDLType_struct_183.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_list_5(dec, &x.F2); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VList_Any struct {
	F3 VList_Any
}

func (VStructDepth2_VList_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VList_Any"`
}) {
}

func (x VStructDepth2_VList_Any) VDLIsZero() bool {
	if len(x.F3) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_VList_Any) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_184); err != nil {
		return err
	}
	if len(x.F3) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F3.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VList_Any) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VList_Any{}
	if err := dec.StartValue(__VDLType_struct_184); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_184 {
			index = __VDLType_struct_184.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F3.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_Set_Float64 struct {
	F4 map[float64]struct{}
}

func (VStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_Set_Float64"`
}) {
}

func (x VStructDepth2_Set_Float64) VDLIsZero() bool {
	if len(x.F4) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_Set_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_185); err != nil {
		return err
	}
	if len(x.F4) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_6(enc, x.F4); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_Set_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_Set_Float64{}
	if err := dec.StartValue(__VDLType_struct_185); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_185 {
			index = __VDLType_struct_185.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_set_6(dec, &x.F4); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VSet_VEnumBcd struct {
	F5 VSet_VEnumBcd
}

func (VStructDepth2_VSet_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VSet_VEnumBcd"`
}) {
}

func (x VStructDepth2_VSet_VEnumBcd) VDLIsZero() bool {
	if len(x.F5) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_VSet_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_186); err != nil {
		return err
	}
	if len(x.F5) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VSet_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VSet_VEnumBcd{}
	if err := dec.StartValue(__VDLType_struct_186); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_186 {
			index = __VDLType_struct_186.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F5.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_Map_Byte_Byte struct {
	F6 map[byte]byte
}

func (VStructDepth2_Map_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_Map_Byte_Byte"`
}) {
}

func (x VStructDepth2_Map_Byte_Byte) VDLIsZero() bool {
	if len(x.F6) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_Map_Byte_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_187); err != nil {
		return err
	}
	if len(x.F6) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_2(enc, x.F6); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_Map_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_Map_Byte_Byte{}
	if err := dec.StartValue(__VDLType_struct_187); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_187 {
			index = __VDLType_struct_187.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_map_2(dec, &x.F6); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_Map_Uint32_Uint32 struct {
	F7 map[uint32]uint32
}

func (VStructDepth2_Map_Uint32_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_Map_Uint32_Uint32"`
}) {
}

func (x VStructDepth2_Map_Uint32_Uint32) VDLIsZero() bool {
	if len(x.F7) != 0 {
		return false
	}
	return true
}

func (x VStructDepth2_Map_Uint32_Uint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_188); err != nil {
		return err
	}
	if len(x.F7) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_7(enc, x.F7); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_Map_Uint32_Uint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_Map_Uint32_Uint32{}
	if err := dec.StartValue(__VDLType_struct_188); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_188 {
			index = __VDLType_struct_188.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_map_7(dec, &x.F7); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VStructDepth1_All struct {
	F8 VStructDepth1_All
}

func (VStructDepth2_VStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VStructDepth1_All"`
}) {
}

func (x VStructDepth2_VStructDepth1_All) VDLIsZero() bool {
	if !x.F8.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth2_VStructDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_189); err != nil {
		return err
	}
	if !x.F8.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VStructDepth1_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VStructDepth1_All{
		F8: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	}
	if err := dec.StartValue(__VDLType_struct_189); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_189 {
			index = __VDLType_struct_189.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VStructDepth1_Bool struct {
	F9 VStructDepth1_Bool
}

func (VStructDepth2_VStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VStructDepth1_Bool"`
}) {
}

func (x VStructDepth2_VStructDepth1_Bool) VDLIsZero() bool {
	return x == VStructDepth2_VStructDepth1_Bool{}
}

func (x VStructDepth2_VStructDepth1_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_190); err != nil {
		return err
	}
	if x.F9 != (VStructDepth1_Bool{}) {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F9.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VStructDepth1_Bool) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VStructDepth1_Bool{}
	if err := dec.StartValue(__VDLType_struct_190); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_190 {
			index = __VDLType_struct_190.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VUnionDepth1_All struct {
	F10 VUnionDepth1_All
}

func (VStructDepth2_VUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VUnionDepth1_All"`
}) {
}

func (x VStructDepth2_VUnionDepth1_All) VDLIsZero() bool {
	if x.F10 != nil && !x.F10.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth2_VUnionDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_191); err != nil {
		return err
	}
	if x.F10 != nil && !x.F10.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VUnionDepth1_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VUnionDepth1_All{
		F10: VUnionDepth1_AllF0{},
	}
	if err := dec.StartValue(__VDLType_struct_191); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_191 {
			index = __VDLType_struct_191.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := VDLReadVUnionDepth1_All(dec, &x.F10); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_VUnionDepth1_Float64 struct {
	F11 VUnionDepth1_Float64
}

func (VStructDepth2_VUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_VUnionDepth1_Float64"`
}) {
}

func (x VStructDepth2_VUnionDepth1_Float64) VDLIsZero() bool {
	if x.F11 != nil && !x.F11.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth2_VUnionDepth1_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_192); err != nil {
		return err
	}
	if x.F11 != nil && !x.F11.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_VUnionDepth1_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_VUnionDepth1_Float64{
		F11: VUnionDepth1_Float64F29{},
	}
	if err := dec.StartValue(__VDLType_struct_192); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_192 {
			index = __VDLType_struct_192.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := VDLReadVUnionDepth1_Float64(dec, &x.F11); err != nil {
				return err
			}
		}
	}
}

type VStructDepth2_OptVStructDepth1_VEnumBcd struct {
	F12 *VStructDepth1_VEnumBcd
}

func (VStructDepth2_OptVStructDepth1_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_OptVStructDepth1_VEnumBcd"`
}) {
}

func (x VStructDepth2_OptVStructDepth1_VEnumBcd) VDLIsZero() bool {
	return x == VStructDepth2_OptVStructDepth1_VEnumBcd{}
}

func (x VStructDepth2_OptVStructDepth1_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_193); err != nil {
		return err
	}
	if x.F12 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F12.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_OptVStructDepth1_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_OptVStructDepth1_VEnumBcd{}
	if err := dec.StartValue(__VDLType_struct_193); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_193 {
			index = __VDLType_struct_193.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := dec.StartValue(__VDLType_optional_169); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F12 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F12 = new(VStructDepth1_VEnumBcd)
				dec.IgnoreNextStartValue()
				if err := x.F12.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type VStructDepth2_OptVStructDepth1_VUint16 struct {
	F13 *VStructDepth1_VUint16
}

func (VStructDepth2_OptVStructDepth1_VUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth2_OptVStructDepth1_VUint16"`
}) {
}

func (x VStructDepth2_OptVStructDepth1_VUint16) VDLIsZero() bool {
	return x == VStructDepth2_OptVStructDepth1_VUint16{}
}

func (x VStructDepth2_OptVStructDepth1_VUint16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_194); err != nil {
		return err
	}
	if x.F13 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F13.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth2_OptVStructDepth1_VUint16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth2_OptVStructDepth1_VUint16{}
	if err := dec.StartValue(__VDLType_struct_194); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_194 {
			index = __VDLType_struct_194.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := dec.StartValue(__VDLType_optional_180); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F13 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F13 = new(VStructDepth1_VUint16)
				dec.IgnoreNextStartValue()
				if err := x.F13.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type (
	// VUnionDepth2_All represents any single field of the VUnionDepth2_All union type.
	VUnionDepth2_All 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 VUnionDepth2_All union type.
		__VDLReflect(__VUnionDepth2_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_AllF0 represents field F0 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF0 struct{ Value VArray1_String }
	// VUnionDepth2_AllF1 represents field F1 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF1 struct{ Value VArray2_VByte }
	// VUnionDepth2_AllF2 represents field F2 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF2 struct{ Value VList_VByte }
	// VUnionDepth2_AllF3 represents field F3 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF3 struct{ Value VList_OptVNamedError }
	// VUnionDepth2_AllF4 represents field F4 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF4 struct{ Value VSet_VBool }
	// VUnionDepth2_AllF5 represents field F5 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF5 struct{ Value VSet_VNamedError }
	// VUnionDepth2_AllF6 represents field F6 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF6 struct{ Value map[VBool]VBool }
	// VUnionDepth2_AllF7 represents field F7 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF7 struct{ Value VMap_VBool_VBool }
	// VUnionDepth2_AllF8 represents field F8 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF8 struct{ Value VStructDepth1_All }
	// VUnionDepth2_AllF9 represents field F9 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF9 struct{ Value VStructDepth1_Int8 }
	// VUnionDepth2_AllF10 represents field F10 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF10 struct{ Value VUnionDepth1_All }
	// VUnionDepth2_AllF11 represents field F11 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF11 struct{ Value VUnionDepth1_VUint32 }
	// VUnionDepth2_AllF12 represents field F12 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF12 struct{ Value *VStructDepth1_VEnumBcd }
	// VUnionDepth2_AllF13 represents field F13 of the VUnionDepth2_All union type.
	VUnionDepth2_AllF13 struct{ Value *VStructDepth1_VFloat32 }
	// __VUnionDepth2_AllReflect describes the VUnionDepth2_All union type.
	__VUnionDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_All"`
		Type  VUnionDepth2_All
		Union struct {
			F0  VUnionDepth2_AllF0
			F1  VUnionDepth2_AllF1
			F2  VUnionDepth2_AllF2
			F3  VUnionDepth2_AllF3
			F4  VUnionDepth2_AllF4
			F5  VUnionDepth2_AllF5
			F6  VUnionDepth2_AllF6
			F7  VUnionDepth2_AllF7
			F8  VUnionDepth2_AllF8
			F9  VUnionDepth2_AllF9
			F10 VUnionDepth2_AllF10
			F11 VUnionDepth2_AllF11
			F12 VUnionDepth2_AllF12
			F13 VUnionDepth2_AllF13
		}
	}
)

func (x VUnionDepth2_AllF0) Index() int                             { return 0 }
func (x VUnionDepth2_AllF0) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF0) Name() string                           { return "F0" }
func (x VUnionDepth2_AllF0) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF1) Index() int                             { return 1 }
func (x VUnionDepth2_AllF1) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF1) Name() string                           { return "F1" }
func (x VUnionDepth2_AllF1) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF2) Index() int                             { return 2 }
func (x VUnionDepth2_AllF2) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF2) Name() string                           { return "F2" }
func (x VUnionDepth2_AllF2) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF3) Index() int                             { return 3 }
func (x VUnionDepth2_AllF3) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF3) Name() string                           { return "F3" }
func (x VUnionDepth2_AllF3) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF4) Index() int                             { return 4 }
func (x VUnionDepth2_AllF4) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF4) Name() string                           { return "F4" }
func (x VUnionDepth2_AllF4) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF5) Index() int                             { return 5 }
func (x VUnionDepth2_AllF5) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF5) Name() string                           { return "F5" }
func (x VUnionDepth2_AllF5) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF6) Index() int                             { return 6 }
func (x VUnionDepth2_AllF6) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF6) Name() string                           { return "F6" }
func (x VUnionDepth2_AllF6) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF7) Index() int                             { return 7 }
func (x VUnionDepth2_AllF7) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF7) Name() string                           { return "F7" }
func (x VUnionDepth2_AllF7) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF8) Index() int                             { return 8 }
func (x VUnionDepth2_AllF8) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF8) Name() string                           { return "F8" }
func (x VUnionDepth2_AllF8) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF9) Index() int                             { return 9 }
func (x VUnionDepth2_AllF9) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF9) Name() string                           { return "F9" }
func (x VUnionDepth2_AllF9) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF10) Index() int                             { return 10 }
func (x VUnionDepth2_AllF10) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF10) Name() string                           { return "F10" }
func (x VUnionDepth2_AllF10) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF11) Index() int                             { return 11 }
func (x VUnionDepth2_AllF11) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF11) Name() string                           { return "F11" }
func (x VUnionDepth2_AllF11) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF12) Index() int                             { return 12 }
func (x VUnionDepth2_AllF12) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF12) Name() string                           { return "F12" }
func (x VUnionDepth2_AllF12) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF13) Index() int                             { return 13 }
func (x VUnionDepth2_AllF13) Interface() interface{}                 { return x.Value }
func (x VUnionDepth2_AllF13) Name() string                           { return "F13" }
func (x VUnionDepth2_AllF13) __VDLReflect(__VUnionDepth2_AllReflect) {}

func (x VUnionDepth2_AllF0) VDLIsZero() bool {
	return x.Value == VArray1_String{}
}

func (x VUnionDepth2_AllF1) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF2) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF3) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF4) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF5) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF6) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF7) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF8) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF9) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF10) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF11) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF12) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF13) VDLIsZero() bool {
	return false
}

func (x VUnionDepth2_AllF0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextFieldValueBytes(1, __VDLType_array_25, reflect.ValueOf(x.Value[:]).Bytes()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextFieldValueBytes(2, __VDLType_list_45, reflect.ValueOf(x.Value).Bytes()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(3); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(4); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(5); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(6); err != nil {
		return err
	}
	if err := __VDLWriteAnon_map_8(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(7); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(8); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(9); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(10); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_116).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(11); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_133).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(12); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_169); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	if err := enc.NextField(13); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_159); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_8(enc vdl.Encoder, x map[VBool]VBool) error {
	if err := enc.StartValue(__VDLType_map_196); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntryValueBool(__VDLType_bool_2, bool(key)); err != nil {
			return err
		}
		if err := enc.WriteValueBool(__VDLType_bool_2, bool(elem)); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_All(dec vdl.Decoder, x *VUnionDepth2_All) error {
	if err := dec.StartValue(__VDLType_union_195); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_195 {
		name := decType.Field(index).Name
		index = __VDLType_union_195.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_AllF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 1:
		var field VUnionDepth2_AllF1
		bytes := reflect.ValueOf(field.Value[:]).Bytes()
		if err := dec.ReadValueBytes(2, &bytes); err != nil {
			return err
		}
		*x = field
	case 2:
		var field VUnionDepth2_AllF2
		var bytes []byte
		if err := dec.ReadValueBytes(-1, &bytes); err != nil {
			return err
		}
		reflect.ValueOf(&field.Value).Elem().SetBytes(bytes)
		*x = field
	case 3:
		var field VUnionDepth2_AllF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 4:
		var field VUnionDepth2_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 5:
		var field VUnionDepth2_AllF5
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 6:
		var field VUnionDepth2_AllF6
		if err := __VDLReadAnon_map_8(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 7:
		var field VUnionDepth2_AllF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 8:
		var field VUnionDepth2_AllF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 9:
		var field VUnionDepth2_AllF9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 10:
		var field VUnionDepth2_AllF10
		if err := VDLReadVUnionDepth1_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 11:
		var field VUnionDepth2_AllF11
		if err := VDLReadVUnionDepth1_VUint32(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 12:
		var field VUnionDepth2_AllF12
		if err := dec.StartValue(__VDLType_optional_169); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth1_VEnumBcd)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	case 13:
		var field VUnionDepth2_AllF13
		if err := dec.StartValue(__VDLType_optional_159); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth1_VFloat32)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

func __VDLReadAnon_map_8(dec vdl.Decoder, x *map[VBool]VBool) error {
	if err := dec.StartValue(__VDLType_map_196); err != nil {
		return err
	}
	var tmpMap map[VBool]VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VBool]VBool, len)
	}
	for {
		switch done, key, err := dec.NextEntryValueBool(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var elem VBool
			switch value, err := dec.ReadValueBool(); {
			case err != nil:
				return err
			default:
				elem = VBool(value)
			}
			if tmpMap == nil {
				tmpMap = make(map[VBool]VBool)
			}
			tmpMap[VBool(key)] = elem
		}
	}
}

type (
	// VUnionDepth2_VArray1_String represents any single field of the VUnionDepth2_VArray1_String union type.
	VUnionDepth2_VArray1_String 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 VUnionDepth2_VArray1_String union type.
		__VDLReflect(__VUnionDepth2_VArray1_StringReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VArray1_StringF0 represents field F0 of the VUnionDepth2_VArray1_String union type.
	VUnionDepth2_VArray1_StringF0 struct{ Value VArray1_String }
	// __VUnionDepth2_VArray1_StringReflect describes the VUnionDepth2_VArray1_String union type.
	__VUnionDepth2_VArray1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VArray1_String"`
		Type  VUnionDepth2_VArray1_String
		Union struct {
			F0 VUnionDepth2_VArray1_StringF0
		}
	}
)

func (x VUnionDepth2_VArray1_StringF0) Index() int                                        { return 0 }
func (x VUnionDepth2_VArray1_StringF0) Interface() interface{}                            { return x.Value }
func (x VUnionDepth2_VArray1_StringF0) Name() string                                      { return "F0" }
func (x VUnionDepth2_VArray1_StringF0) __VDLReflect(__VUnionDepth2_VArray1_StringReflect) {}

func (x VUnionDepth2_VArray1_StringF0) VDLIsZero() bool {
	return x.Value == VArray1_String{}
}

func (x VUnionDepth2_VArray1_StringF0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_197); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VArray1_String(dec vdl.Decoder, x *VUnionDepth2_VArray1_String) error {
	if err := dec.StartValue(__VDLType_union_197); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_197 {
		name := decType.Field(index).Name
		index = __VDLType_union_197.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VArray1_StringF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VArray2_VByte represents any single field of the VUnionDepth2_VArray2_VByte union type.
	VUnionDepth2_VArray2_VByte 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 VUnionDepth2_VArray2_VByte union type.
		__VDLReflect(__VUnionDepth2_VArray2_VByteReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VArray2_VByteF1 represents field F1 of the VUnionDepth2_VArray2_VByte union type.
	VUnionDepth2_VArray2_VByteF1 struct{ Value VArray2_VByte }
	// __VUnionDepth2_VArray2_VByteReflect describes the VUnionDepth2_VArray2_VByte union type.
	__VUnionDepth2_VArray2_VByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VArray2_VByte"`
		Type  VUnionDepth2_VArray2_VByte
		Union struct {
			F1 VUnionDepth2_VArray2_VByteF1
		}
	}
)

func (x VUnionDepth2_VArray2_VByteF1) Index() int                                       { return 0 }
func (x VUnionDepth2_VArray2_VByteF1) Interface() interface{}                           { return x.Value }
func (x VUnionDepth2_VArray2_VByteF1) Name() string                                     { return "F1" }
func (x VUnionDepth2_VArray2_VByteF1) __VDLReflect(__VUnionDepth2_VArray2_VByteReflect) {}

func (x VUnionDepth2_VArray2_VByteF1) VDLIsZero() bool {
	return x.Value == VArray2_VByte{}
}

func (x VUnionDepth2_VArray2_VByteF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_198); err != nil {
		return err
	}
	if err := enc.NextFieldValueBytes(0, __VDLType_array_25, reflect.ValueOf(x.Value[:]).Bytes()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VArray2_VByte(dec vdl.Decoder, x *VUnionDepth2_VArray2_VByte) error {
	if err := dec.StartValue(__VDLType_union_198); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_198 {
		name := decType.Field(index).Name
		index = __VDLType_union_198.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VArray2_VByteF1
		bytes := reflect.ValueOf(field.Value[:]).Bytes()
		if err := dec.ReadValueBytes(2, &bytes); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VList_VByte represents any single field of the VUnionDepth2_VList_VByte union type.
	VUnionDepth2_VList_VByte 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 VUnionDepth2_VList_VByte union type.
		__VDLReflect(__VUnionDepth2_VList_VByteReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VList_VByteF2 represents field F2 of the VUnionDepth2_VList_VByte union type.
	VUnionDepth2_VList_VByteF2 struct{ Value VList_VByte }
	// __VUnionDepth2_VList_VByteReflect describes the VUnionDepth2_VList_VByte union type.
	__VUnionDepth2_VList_VByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VList_VByte"`
		Type  VUnionDepth2_VList_VByte
		Union struct {
			F2 VUnionDepth2_VList_VByteF2
		}
	}
)

func (x VUnionDepth2_VList_VByteF2) Index() int                                     { return 0 }
func (x VUnionDepth2_VList_VByteF2) Interface() interface{}                         { return x.Value }
func (x VUnionDepth2_VList_VByteF2) Name() string                                   { return "F2" }
func (x VUnionDepth2_VList_VByteF2) __VDLReflect(__VUnionDepth2_VList_VByteReflect) {}

func (x VUnionDepth2_VList_VByteF2) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_VList_VByteF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_199); err != nil {
		return err
	}
	if err := enc.NextFieldValueBytes(0, __VDLType_list_45, reflect.ValueOf(x.Value).Bytes()); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VList_VByte(dec vdl.Decoder, x *VUnionDepth2_VList_VByte) error {
	if err := dec.StartValue(__VDLType_union_199); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_199 {
		name := decType.Field(index).Name
		index = __VDLType_union_199.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VList_VByteF2
		var bytes []byte
		if err := dec.ReadValueBytes(-1, &bytes); err != nil {
			return err
		}
		reflect.ValueOf(&field.Value).Elem().SetBytes(bytes)
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VList_OptVNamedError represents any single field of the VUnionDepth2_VList_OptVNamedError union type.
	VUnionDepth2_VList_OptVNamedError 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 VUnionDepth2_VList_OptVNamedError union type.
		__VDLReflect(__VUnionDepth2_VList_OptVNamedErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VList_OptVNamedErrorF3 represents field F3 of the VUnionDepth2_VList_OptVNamedError union type.
	VUnionDepth2_VList_OptVNamedErrorF3 struct{ Value VList_OptVNamedError }
	// __VUnionDepth2_VList_OptVNamedErrorReflect describes the VUnionDepth2_VList_OptVNamedError union type.
	__VUnionDepth2_VList_OptVNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VList_OptVNamedError"`
		Type  VUnionDepth2_VList_OptVNamedError
		Union struct {
			F3 VUnionDepth2_VList_OptVNamedErrorF3
		}
	}
)

func (x VUnionDepth2_VList_OptVNamedErrorF3) Index() int             { return 0 }
func (x VUnionDepth2_VList_OptVNamedErrorF3) Interface() interface{} { return x.Value }
func (x VUnionDepth2_VList_OptVNamedErrorF3) Name() string           { return "F3" }
func (x VUnionDepth2_VList_OptVNamedErrorF3) __VDLReflect(__VUnionDepth2_VList_OptVNamedErrorReflect) {
}

func (x VUnionDepth2_VList_OptVNamedErrorF3) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_VList_OptVNamedErrorF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_200); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VList_OptVNamedError(dec vdl.Decoder, x *VUnionDepth2_VList_OptVNamedError) error {
	if err := dec.StartValue(__VDLType_union_200); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_200 {
		name := decType.Field(index).Name
		index = __VDLType_union_200.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VList_OptVNamedErrorF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VSet_VBool represents any single field of the VUnionDepth2_VSet_VBool union type.
	VUnionDepth2_VSet_VBool 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 VUnionDepth2_VSet_VBool union type.
		__VDLReflect(__VUnionDepth2_VSet_VBoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VSet_VBoolF4 represents field F4 of the VUnionDepth2_VSet_VBool union type.
	VUnionDepth2_VSet_VBoolF4 struct{ Value VSet_VBool }
	// __VUnionDepth2_VSet_VBoolReflect describes the VUnionDepth2_VSet_VBool union type.
	__VUnionDepth2_VSet_VBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VSet_VBool"`
		Type  VUnionDepth2_VSet_VBool
		Union struct {
			F4 VUnionDepth2_VSet_VBoolF4
		}
	}
)

func (x VUnionDepth2_VSet_VBoolF4) Index() int                                    { return 0 }
func (x VUnionDepth2_VSet_VBoolF4) Interface() interface{}                        { return x.Value }
func (x VUnionDepth2_VSet_VBoolF4) Name() string                                  { return "F4" }
func (x VUnionDepth2_VSet_VBoolF4) __VDLReflect(__VUnionDepth2_VSet_VBoolReflect) {}

func (x VUnionDepth2_VSet_VBoolF4) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_VSet_VBoolF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_201); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VSet_VBool(dec vdl.Decoder, x *VUnionDepth2_VSet_VBool) error {
	if err := dec.StartValue(__VDLType_union_201); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_201 {
		name := decType.Field(index).Name
		index = __VDLType_union_201.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VSet_VBoolF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VSet_VNamedError represents any single field of the VUnionDepth2_VSet_VNamedError union type.
	VUnionDepth2_VSet_VNamedError 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 VUnionDepth2_VSet_VNamedError union type.
		__VDLReflect(__VUnionDepth2_VSet_VNamedErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VSet_VNamedErrorF5 represents field F5 of the VUnionDepth2_VSet_VNamedError union type.
	VUnionDepth2_VSet_VNamedErrorF5 struct{ Value VSet_VNamedError }
	// __VUnionDepth2_VSet_VNamedErrorReflect describes the VUnionDepth2_VSet_VNamedError union type.
	__VUnionDepth2_VSet_VNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VSet_VNamedError"`
		Type  VUnionDepth2_VSet_VNamedError
		Union struct {
			F5 VUnionDepth2_VSet_VNamedErrorF5
		}
	}
)

func (x VUnionDepth2_VSet_VNamedErrorF5) Index() int                                          { return 0 }
func (x VUnionDepth2_VSet_VNamedErrorF5) Interface() interface{}                              { return x.Value }
func (x VUnionDepth2_VSet_VNamedErrorF5) Name() string                                        { return "F5" }
func (x VUnionDepth2_VSet_VNamedErrorF5) __VDLReflect(__VUnionDepth2_VSet_VNamedErrorReflect) {}

func (x VUnionDepth2_VSet_VNamedErrorF5) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_VSet_VNamedErrorF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_202); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VSet_VNamedError(dec vdl.Decoder, x *VUnionDepth2_VSet_VNamedError) error {
	if err := dec.StartValue(__VDLType_union_202); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_202 {
		name := decType.Field(index).Name
		index = __VDLType_union_202.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VSet_VNamedErrorF5
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_Map_VBool_VBool represents any single field of the VUnionDepth2_Map_VBool_VBool union type.
	VUnionDepth2_Map_VBool_VBool 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 VUnionDepth2_Map_VBool_VBool union type.
		__VDLReflect(__VUnionDepth2_Map_VBool_VBoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_Map_VBool_VBoolF6 represents field F6 of the VUnionDepth2_Map_VBool_VBool union type.
	VUnionDepth2_Map_VBool_VBoolF6 struct{ Value map[VBool]VBool }
	// __VUnionDepth2_Map_VBool_VBoolReflect describes the VUnionDepth2_Map_VBool_VBool union type.
	__VUnionDepth2_Map_VBool_VBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_Map_VBool_VBool"`
		Type  VUnionDepth2_Map_VBool_VBool
		Union struct {
			F6 VUnionDepth2_Map_VBool_VBoolF6
		}
	}
)

func (x VUnionDepth2_Map_VBool_VBoolF6) Index() int                                         { return 0 }
func (x VUnionDepth2_Map_VBool_VBoolF6) Interface() interface{}                             { return x.Value }
func (x VUnionDepth2_Map_VBool_VBoolF6) Name() string                                       { return "F6" }
func (x VUnionDepth2_Map_VBool_VBoolF6) __VDLReflect(__VUnionDepth2_Map_VBool_VBoolReflect) {}

func (x VUnionDepth2_Map_VBool_VBoolF6) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_Map_VBool_VBoolF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_203); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := __VDLWriteAnon_map_8(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_Map_VBool_VBool(dec vdl.Decoder, x *VUnionDepth2_Map_VBool_VBool) error {
	if err := dec.StartValue(__VDLType_union_203); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_203 {
		name := decType.Field(index).Name
		index = __VDLType_union_203.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_Map_VBool_VBoolF6
		if err := __VDLReadAnon_map_8(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VMap_VBool_VBool represents any single field of the VUnionDepth2_VMap_VBool_VBool union type.
	VUnionDepth2_VMap_VBool_VBool 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 VUnionDepth2_VMap_VBool_VBool union type.
		__VDLReflect(__VUnionDepth2_VMap_VBool_VBoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VMap_VBool_VBoolF7 represents field F7 of the VUnionDepth2_VMap_VBool_VBool union type.
	VUnionDepth2_VMap_VBool_VBoolF7 struct{ Value VMap_VBool_VBool }
	// __VUnionDepth2_VMap_VBool_VBoolReflect describes the VUnionDepth2_VMap_VBool_VBool union type.
	__VUnionDepth2_VMap_VBool_VBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VMap_VBool_VBool"`
		Type  VUnionDepth2_VMap_VBool_VBool
		Union struct {
			F7 VUnionDepth2_VMap_VBool_VBoolF7
		}
	}
)

func (x VUnionDepth2_VMap_VBool_VBoolF7) Index() int                                          { return 0 }
func (x VUnionDepth2_VMap_VBool_VBoolF7) Interface() interface{}                              { return x.Value }
func (x VUnionDepth2_VMap_VBool_VBoolF7) Name() string                                        { return "F7" }
func (x VUnionDepth2_VMap_VBool_VBoolF7) __VDLReflect(__VUnionDepth2_VMap_VBool_VBoolReflect) {}

func (x VUnionDepth2_VMap_VBool_VBoolF7) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth2_VMap_VBool_VBoolF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_204); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VMap_VBool_VBool(dec vdl.Decoder, x *VUnionDepth2_VMap_VBool_VBool) error {
	if err := dec.StartValue(__VDLType_union_204); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_204 {
		name := decType.Field(index).Name
		index = __VDLType_union_204.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VMap_VBool_VBoolF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VStructDepth1_All represents any single field of the VUnionDepth2_VStructDepth1_All union type.
	VUnionDepth2_VStructDepth1_All 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 VUnionDepth2_VStructDepth1_All union type.
		__VDLReflect(__VUnionDepth2_VStructDepth1_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VStructDepth1_AllF8 represents field F8 of the VUnionDepth2_VStructDepth1_All union type.
	VUnionDepth2_VStructDepth1_AllF8 struct{ Value VStructDepth1_All }
	// __VUnionDepth2_VStructDepth1_AllReflect describes the VUnionDepth2_VStructDepth1_All union type.
	__VUnionDepth2_VStructDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VStructDepth1_All"`
		Type  VUnionDepth2_VStructDepth1_All
		Union struct {
			F8 VUnionDepth2_VStructDepth1_AllF8
		}
	}
)

func (x VUnionDepth2_VStructDepth1_AllF8) Index() int                                           { return 0 }
func (x VUnionDepth2_VStructDepth1_AllF8) Interface() interface{}                               { return x.Value }
func (x VUnionDepth2_VStructDepth1_AllF8) Name() string                                         { return "F8" }
func (x VUnionDepth2_VStructDepth1_AllF8) __VDLReflect(__VUnionDepth2_VStructDepth1_AllReflect) {}

func (x VUnionDepth2_VStructDepth1_AllF8) VDLIsZero() bool {
	return x.Value.VDLIsZero()
}

func (x VUnionDepth2_VStructDepth1_AllF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_205); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VStructDepth1_All(dec vdl.Decoder, x *VUnionDepth2_VStructDepth1_All) error {
	if err := dec.StartValue(__VDLType_union_205); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_205 {
		name := decType.Field(index).Name
		index = __VDLType_union_205.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VStructDepth1_AllF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VStructDepth1_Int8 represents any single field of the VUnionDepth2_VStructDepth1_Int8 union type.
	VUnionDepth2_VStructDepth1_Int8 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 VUnionDepth2_VStructDepth1_Int8 union type.
		__VDLReflect(__VUnionDepth2_VStructDepth1_Int8Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VStructDepth1_Int8F9 represents field F9 of the VUnionDepth2_VStructDepth1_Int8 union type.
	VUnionDepth2_VStructDepth1_Int8F9 struct{ Value VStructDepth1_Int8 }
	// __VUnionDepth2_VStructDepth1_Int8Reflect describes the VUnionDepth2_VStructDepth1_Int8 union type.
	__VUnionDepth2_VStructDepth1_Int8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VStructDepth1_Int8"`
		Type  VUnionDepth2_VStructDepth1_Int8
		Union struct {
			F9 VUnionDepth2_VStructDepth1_Int8F9
		}
	}
)

func (x VUnionDepth2_VStructDepth1_Int8F9) Index() int                                            { return 0 }
func (x VUnionDepth2_VStructDepth1_Int8F9) Interface() interface{}                                { return x.Value }
func (x VUnionDepth2_VStructDepth1_Int8F9) Name() string                                          { return "F9" }
func (x VUnionDepth2_VStructDepth1_Int8F9) __VDLReflect(__VUnionDepth2_VStructDepth1_Int8Reflect) {}

func (x VUnionDepth2_VStructDepth1_Int8F9) VDLIsZero() bool {
	return x.Value == VStructDepth1_Int8{}
}

func (x VUnionDepth2_VStructDepth1_Int8F9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_206); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VStructDepth1_Int8(dec vdl.Decoder, x *VUnionDepth2_VStructDepth1_Int8) error {
	if err := dec.StartValue(__VDLType_union_206); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_206 {
		name := decType.Field(index).Name
		index = __VDLType_union_206.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VStructDepth1_Int8F9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VUnionDepth1_All represents any single field of the VUnionDepth2_VUnionDepth1_All union type.
	VUnionDepth2_VUnionDepth1_All 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 VUnionDepth2_VUnionDepth1_All union type.
		__VDLReflect(__VUnionDepth2_VUnionDepth1_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VUnionDepth1_AllF10 represents field F10 of the VUnionDepth2_VUnionDepth1_All union type.
	VUnionDepth2_VUnionDepth1_AllF10 struct{ Value VUnionDepth1_All }
	// __VUnionDepth2_VUnionDepth1_AllReflect describes the VUnionDepth2_VUnionDepth1_All union type.
	__VUnionDepth2_VUnionDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VUnionDepth1_All"`
		Type  VUnionDepth2_VUnionDepth1_All
		Union struct {
			F10 VUnionDepth2_VUnionDepth1_AllF10
		}
	}
)

func (x VUnionDepth2_VUnionDepth1_AllF10) Index() int                                          { return 0 }
func (x VUnionDepth2_VUnionDepth1_AllF10) Interface() interface{}                              { return x.Value }
func (x VUnionDepth2_VUnionDepth1_AllF10) Name() string                                        { return "F10" }
func (x VUnionDepth2_VUnionDepth1_AllF10) __VDLReflect(__VUnionDepth2_VUnionDepth1_AllReflect) {}

func (x VUnionDepth2_VUnionDepth1_AllF10) VDLIsZero() bool {
	return x.Value == nil || x.Value.VDLIsZero()
}

func (x VUnionDepth2_VUnionDepth1_AllF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_207); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_116).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VUnionDepth1_All(dec vdl.Decoder, x *VUnionDepth2_VUnionDepth1_All) error {
	if err := dec.StartValue(__VDLType_union_207); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_207 {
		name := decType.Field(index).Name
		index = __VDLType_union_207.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VUnionDepth1_AllF10
		if err := VDLReadVUnionDepth1_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_VUnionDepth1_VUint32 represents any single field of the VUnionDepth2_VUnionDepth1_VUint32 union type.
	VUnionDepth2_VUnionDepth1_VUint32 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 VUnionDepth2_VUnionDepth1_VUint32 union type.
		__VDLReflect(__VUnionDepth2_VUnionDepth1_VUint32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_VUnionDepth1_VUint32F11 represents field F11 of the VUnionDepth2_VUnionDepth1_VUint32 union type.
	VUnionDepth2_VUnionDepth1_VUint32F11 struct{ Value VUnionDepth1_VUint32 }
	// __VUnionDepth2_VUnionDepth1_VUint32Reflect describes the VUnionDepth2_VUnionDepth1_VUint32 union type.
	__VUnionDepth2_VUnionDepth1_VUint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_VUnionDepth1_VUint32"`
		Type  VUnionDepth2_VUnionDepth1_VUint32
		Union struct {
			F11 VUnionDepth2_VUnionDepth1_VUint32F11
		}
	}
)

func (x VUnionDepth2_VUnionDepth1_VUint32F11) Index() int             { return 0 }
func (x VUnionDepth2_VUnionDepth1_VUint32F11) Interface() interface{} { return x.Value }
func (x VUnionDepth2_VUnionDepth1_VUint32F11) Name() string           { return "F11" }
func (x VUnionDepth2_VUnionDepth1_VUint32F11) __VDLReflect(__VUnionDepth2_VUnionDepth1_VUint32Reflect) {
}

func (x VUnionDepth2_VUnionDepth1_VUint32F11) VDLIsZero() bool {
	return x.Value == nil || x.Value.VDLIsZero()
}

func (x VUnionDepth2_VUnionDepth1_VUint32F11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_208); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_133).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VUnionDepth1_VUint32(dec vdl.Decoder, x *VUnionDepth2_VUnionDepth1_VUint32) error {
	if err := dec.StartValue(__VDLType_union_208); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_208 {
		name := decType.Field(index).Name
		index = __VDLType_union_208.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_VUnionDepth1_VUint32F11
		if err := VDLReadVUnionDepth1_VUint32(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_OptVStructDepth1_VEnumBcd represents any single field of the VUnionDepth2_OptVStructDepth1_VEnumBcd union type.
	VUnionDepth2_OptVStructDepth1_VEnumBcd 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 VUnionDepth2_OptVStructDepth1_VEnumBcd union type.
		__VDLReflect(__VUnionDepth2_OptVStructDepth1_VEnumBcdReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_OptVStructDepth1_VEnumBcdF12 represents field F12 of the VUnionDepth2_OptVStructDepth1_VEnumBcd union type.
	VUnionDepth2_OptVStructDepth1_VEnumBcdF12 struct{ Value *VStructDepth1_VEnumBcd }
	// __VUnionDepth2_OptVStructDepth1_VEnumBcdReflect describes the VUnionDepth2_OptVStructDepth1_VEnumBcd union type.
	__VUnionDepth2_OptVStructDepth1_VEnumBcdReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_OptVStructDepth1_VEnumBcd"`
		Type  VUnionDepth2_OptVStructDepth1_VEnumBcd
		Union struct {
			F12 VUnionDepth2_OptVStructDepth1_VEnumBcdF12
		}
	}
)

func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) Index() int             { return 0 }
func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) Interface() interface{} { return x.Value }
func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) Name() string           { return "F12" }
func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) __VDLReflect(__VUnionDepth2_OptVStructDepth1_VEnumBcdReflect) {
}

func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth2_OptVStructDepth1_VEnumBcdF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_209); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_169); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_OptVStructDepth1_VEnumBcd(dec vdl.Decoder, x *VUnionDepth2_OptVStructDepth1_VEnumBcd) error {
	if err := dec.StartValue(__VDLType_union_209); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_209 {
		name := decType.Field(index).Name
		index = __VDLType_union_209.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_OptVStructDepth1_VEnumBcdF12
		if err := dec.StartValue(__VDLType_optional_169); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth1_VEnumBcd)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth2_OptVStructDepth1_VFloat32 represents any single field of the VUnionDepth2_OptVStructDepth1_VFloat32 union type.
	VUnionDepth2_OptVStructDepth1_VFloat32 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 VUnionDepth2_OptVStructDepth1_VFloat32 union type.
		__VDLReflect(__VUnionDepth2_OptVStructDepth1_VFloat32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth2_OptVStructDepth1_VFloat32F13 represents field F13 of the VUnionDepth2_OptVStructDepth1_VFloat32 union type.
	VUnionDepth2_OptVStructDepth1_VFloat32F13 struct{ Value *VStructDepth1_VFloat32 }
	// __VUnionDepth2_OptVStructDepth1_VFloat32Reflect describes the VUnionDepth2_OptVStructDepth1_VFloat32 union type.
	__VUnionDepth2_OptVStructDepth1_VFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth2_OptVStructDepth1_VFloat32"`
		Type  VUnionDepth2_OptVStructDepth1_VFloat32
		Union struct {
			F13 VUnionDepth2_OptVStructDepth1_VFloat32F13
		}
	}
)

func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) Index() int             { return 0 }
func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) Interface() interface{} { return x.Value }
func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) Name() string           { return "F13" }
func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) __VDLReflect(__VUnionDepth2_OptVStructDepth1_VFloat32Reflect) {
}

func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth2_OptVStructDepth1_VFloat32F13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_210); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_159); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_OptVStructDepth1_VFloat32(dec vdl.Decoder, x *VUnionDepth2_OptVStructDepth1_VFloat32) error {
	if err := dec.StartValue(__VDLType_union_210); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_210 {
		name := decType.Field(index).Name
		index = __VDLType_union_210.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth2_OptVStructDepth1_VFloat32F13
		if err := dec.StartValue(__VDLType_optional_159); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth1_VFloat32)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type VArray1_VArray1_VList_Byte [1]VArray1_VList_Byte

func (VArray1_VArray1_VList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray1_VArray1_VList_Byte"`
}) {
}

func (x VArray1_VArray1_VList_Byte) VDLIsZero() bool {
	for _, elem := range x {
		if !elem.VDLIsZero() {
			return false
		}
	}
	return true
}

func (x VArray1_VArray1_VList_Byte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_211); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_VArray1_VList_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_211); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

type VArray2_List_VMap_VByte_VByte [2][]VMap_VByte_VByte

func (VArray2_List_VMap_VByte_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_List_VMap_VByte_VByte"`
}) {
}

func (x VArray2_List_VMap_VByte_VByte) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray2_List_VMap_VByte_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_212); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_9(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_9(enc vdl.Encoder, x []VMap_VByte_VByte) error {
	if err := enc.StartValue(__VDLType_list_213); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_List_VMap_VByte_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_212); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := __VDLReadAnon_list_9(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

func __VDLReadAnon_list_9(dec vdl.Decoder, x *[]VMap_VByte_VByte) error {
	if err := dec.StartValue(__VDLType_list_213); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make([]VMap_VByte_VByte, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VMap_VByte_VByte
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VArray2_Set_VUnionDepth1_VNamedError [2]map[VUnionDepth1_VNamedError]struct{}

func (VArray2_Set_VUnionDepth1_VNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_Set_VUnionDepth1_VNamedError"`
}) {
}

func (x VArray2_Set_VUnionDepth1_VNamedError) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray2_Set_VUnionDepth1_VNamedError) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_214); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_10(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_10(enc vdl.Encoder, x map[VUnionDepth1_VNamedError]struct{}) error {
	if err := enc.StartValue(__VDLType_set_215); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_128).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_Set_VUnionDepth1_VNamedError) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_214); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := __VDLReadAnon_set_10(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

func __VDLReadAnon_set_10(dec vdl.Decoder, x *map[VUnionDepth1_VNamedError]struct{}) error {
	if err := dec.StartValue(__VDLType_set_215); err != nil {
		return err
	}
	var tmpMap map[VUnionDepth1_VNamedError]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VUnionDepth1_VNamedError]struct{}, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth1_VNamedError
			if err := VDLReadVUnionDepth1_VNamedError(dec, &key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(map[VUnionDepth1_VNamedError]struct{})
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64 [3]map[VUnionDepth1_Float64]VUnionDepth1_Float64

func (VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64"`
}) {
}

func (x VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLIsZero() bool {
	for _, elem := range x {
		if len(elem) != 0 {
			return false
		}
	}
	return true
}

func (x VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_216); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_11(enc vdl.Encoder, x map[VUnionDepth1_Float64]VUnionDepth1_Float64) error {
	if err := enc.StartValue(__VDLType_map_217); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_146).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_146).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_216); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			if err := __VDLReadAnon_map_11(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

func __VDLReadAnon_map_11(dec vdl.Decoder, x *map[VUnionDepth1_Float64]VUnionDepth1_Float64) error {
	if err := dec.StartValue(__VDLType_map_217); err != nil {
		return err
	}
	var tmpMap map[VUnionDepth1_Float64]VUnionDepth1_Float64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VUnionDepth1_Float64]VUnionDepth1_Float64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth1_Float64
			if err := VDLReadVUnionDepth1_Float64(dec, &key); err != nil {
				return err
			}
			var elem VUnionDepth1_Float64
			if err := VDLReadVUnionDepth1_Float64(dec, &elem); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(map[VUnionDepth1_Float64]VUnionDepth1_Float64)
			}
			tmpMap[key] = elem
		}
	}
}

type VArray2_VStructDepth2_All [2]VStructDepth2_All

func (VArray2_VStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VStructDepth2_All"`
}) {
}

func (x VArray2_VStructDepth2_All) VDLIsZero() bool {
	for _, elem := range x {
		if !elem.VDLIsZero() {
			return false
		}
	}
	return true
}

func (x VArray2_VStructDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_218); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VStructDepth2_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_218); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := x[index].VDLRead(dec); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray2_VUnionDepth2_All [2]VUnionDepth2_All

func (VArray2_VUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray2_VUnionDepth2_All"`
}) {
}

func (x VArray2_VUnionDepth2_All) VDLIsZero() bool {
	for _, elem := range x {
		if elem != nil && !elem.VDLIsZero() {
			return false
		}
	}
	return true
}

func (x VArray2_VUnionDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_219); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_195).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VUnionDepth2_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_219); err != nil {
		return err
	}
	for index := 0; index < 2; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 2 %T)", index, *x)
		default:
			if err := VDLReadVUnionDepth2_All(dec, &x[index]); err != nil {
				return err
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 2 %T", *x)
	}
	return dec.FinishValue()
}

type VArray3_OptVStructDepth2_Set_Float64 [3]*VStructDepth2_Set_Float64

func (VArray3_OptVStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VArray3_OptVStructDepth2_Set_Float64"`
}) {
}

func (x VArray3_OptVStructDepth2_Set_Float64) VDLIsZero() bool {
	return x == VArray3_OptVStructDepth2_Set_Float64{}
}

func (x VArray3_OptVStructDepth2_Set_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_array_220); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_221); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_OptVStructDepth2_Set_Float64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_array_220); err != nil {
		return err
	}
	for index := 0; index < 3; index++ {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 3 %T)", index, *x)
		default:
			if err := dec.StartValue(__VDLType_optional_221); err != nil {
				return err
			}
			if dec.IsNil() {
				x[index] = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x[index] = new(VStructDepth2_Set_Float64)
				dec.IgnoreNextStartValue()
				if err := x[index].VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 3 %T", *x)
	}
	return dec.FinishValue()
}

type VList_VArray3_VUnionDepth1_All []VArray3_VUnionDepth1_All

func (VList_VArray3_VUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VArray3_VUnionDepth1_All"`
}) {
}

func (x VList_VArray3_VUnionDepth1_All) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VArray3_VUnionDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_222); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VArray3_VUnionDepth1_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_222); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VArray3_VUnionDepth1_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VArray3_VUnionDepth1_All
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_List_VMap_VByte_VByte [][]VMap_VByte_VByte

func (VList_List_VMap_VByte_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_List_VMap_VByte_VByte"`
}) {
}

func (x VList_List_VMap_VByte_VByte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_List_VMap_VByte_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_223); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_9(enc, elem); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_List_VMap_VByte_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_223); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_List_VMap_VByte_VByte, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem []VMap_VByte_VByte
			if err := __VDLReadAnon_list_9(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VSet_VArray1_VStructEmpty []VSet_VArray1_VStructEmpty

func (VList_VSet_VArray1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VSet_VArray1_VStructEmpty"`
}) {
}

func (x VList_VSet_VArray1_VStructEmpty) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VSet_VArray1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_224); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VSet_VArray1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_224); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VSet_VArray1_VStructEmpty, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VSet_VArray1_VStructEmpty
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VMap_VArray3_VBool_VArray3_VBool []VMap_VArray3_VBool_VArray3_VBool

func (VList_VMap_VArray3_VBool_VArray3_VBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VMap_VArray3_VBool_VArray3_VBool"`
}) {
}

func (x VList_VMap_VArray3_VBool_VArray3_VBool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VMap_VArray3_VBool_VArray3_VBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_225); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VMap_VArray3_VBool_VArray3_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_225); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VMap_VArray3_VBool_VArray3_VBool, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VMap_VArray3_VBool_VArray3_VBool
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VStructDepth2_All []VStructDepth2_All

func (VList_VStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VStructDepth2_All"`
}) {
}

func (x VList_VStructDepth2_All) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VStructDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_226); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VStructDepth2_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_226); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VStructDepth2_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VStructDepth2_All
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_VUnionDepth2_All []VUnionDepth2_All

func (VList_VUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_VUnionDepth2_All"`
}) {
}

func (x VList_VUnionDepth2_All) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_VUnionDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_227); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_195).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VUnionDepth2_All) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_227); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_VUnionDepth2_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VUnionDepth2_All
			if err := VDLReadVUnionDepth2_All(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VList_OptVStructDepth2_Set_Float64 []*VStructDepth2_Set_Float64

func (VList_OptVStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VList_OptVStructDepth2_Set_Float64"`
}) {
}

func (x VList_OptVStructDepth2_Set_Float64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VList_OptVStructDepth2_Set_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_list_228); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if elem == nil {
			if err := enc.NilValue(__VDLType_optional_221); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_OptVStructDepth2_Set_Float64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_list_228); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VList_OptVStructDepth2_Set_Float64, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem *VStructDepth2_Set_Float64
			if err := dec.StartValue(__VDLType_optional_221); err != nil {
				return err
			}
			if dec.IsNil() {
				elem = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				elem = new(VStructDepth2_Set_Float64)
				dec.IgnoreNextStartValue()
				if err := elem.VDLRead(dec); err != nil {
					return err
				}
			}
			*x = append(*x, elem)
		}
	}
}

type VSet_VArray1_VArray3_Int64 map[VArray1_VArray3_Int64]struct{}

func (VSet_VArray1_VArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VArray1_VArray3_Int64"`
}) {
}

func (x VSet_VArray1_VArray3_Int64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VArray1_VArray3_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_229); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VArray1_VArray3_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_229); err != nil {
		return err
	}
	var tmpMap VSet_VArray1_VArray3_Int64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VArray1_VArray3_Int64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VArray1_VArray3_Int64
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VArray1_VArray3_Int64)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VStructDepth2_VStructDepth1_Bool map[VStructDepth2_VStructDepth1_Bool]struct{}

func (VSet_VStructDepth2_VStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VStructDepth2_VStructDepth1_Bool"`
}) {
}

func (x VSet_VStructDepth2_VStructDepth1_Bool) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VStructDepth2_VStructDepth1_Bool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_230); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VStructDepth2_VStructDepth1_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_230); err != nil {
		return err
	}
	var tmpMap VSet_VStructDepth2_VStructDepth1_Bool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VStructDepth2_VStructDepth1_Bool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructDepth2_VStructDepth1_Bool
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VStructDepth2_VStructDepth1_Bool)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VSet_VUnionDepth2_VArray1_String map[VUnionDepth2_VArray1_String]struct{}

func (VSet_VUnionDepth2_VArray1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VSet_VUnionDepth2_VArray1_String"`
}) {
}

func (x VSet_VUnionDepth2_VArray1_String) VDLIsZero() bool {
	return len(x) == 0
}

func (x VSet_VUnionDepth2_VArray1_String) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_set_231); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_197).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_VUnionDepth2_VArray1_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_set_231); err != nil {
		return err
	}
	var tmpMap VSet_VUnionDepth2_VArray1_String
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VUnionDepth2_VArray1_String, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth2_VArray1_String
			if err := VDLReadVUnionDepth2_VArray1_String(dec, &key); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VSet_VUnionDepth2_VArray1_String)
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64 map[VArray1_VArray3_Int64]VArray1_VArray3_Int64

func (VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64"`
}) {
}

func (x VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_232); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_232); err != nil {
		return err
	}
	var tmpMap VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VArray1_VArray3_Int64
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VArray1_VArray3_Int64
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32 map[VStructDepth2_VArray1_Uint32]VStructDepth2_VArray1_Uint32

func (VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32"`
}) {
}

func (x VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_233); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_233); err != nil {
		return err
	}
	var tmpMap VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructDepth2_VArray1_Uint32
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			var elem VStructDepth2_VArray1_Uint32
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32)
			}
			tmpMap[key] = elem
		}
	}
}

type VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte map[VUnionDepth2_VArray2_VByte]VUnionDepth2_VArray2_VByte

func (VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte"`
}) {
}

func (x VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLIsZero() bool {
	return len(x) == 0
}

func (x VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_map_234); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case key == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_198).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := key.VDLWrite(enc); err != nil {
				return err
			}
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_198).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(__VDLType_map_234); err != nil {
		return err
	}
	var tmpMap VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VUnionDepth2_VArray2_VByte
			if err := VDLReadVUnionDepth2_VArray2_VByte(dec, &key); err != nil {
				return err
			}
			var elem VUnionDepth2_VArray2_VByte
			if err := VDLReadVUnionDepth2_VArray2_VByte(dec, &elem); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)
			}
			tmpMap[key] = elem
		}
	}
}

type VStructDepth3_All struct {
	F0 VArray1_Set_VEnumBcd
	F1 []VUnionDepth1_All
	F2 VSet_VArray1_VStructEmpty
	F3 map[VUnionDepth1_Float64]VUnionDepth1_Float64
	F4 VStructDepth2_All
	F5 VUnionDepth2_All
	F6 *VStructDepth2_Set_Float64
}

func (VStructDepth3_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_All"`
}) {
}

func (x VStructDepth3_All) VDLIsZero() bool {
	if !x.F0.VDLIsZero() {
		return false
	}
	if len(x.F1) != 0 {
		return false
	}
	if len(x.F2) != 0 {
		return false
	}
	if len(x.F3) != 0 {
		return false
	}
	if !x.F4.VDLIsZero() {
		return false
	}
	if x.F5 != nil && !x.F5.VDLIsZero() {
		return false
	}
	if x.F6 != nil {
		return false
	}
	return true
}

func (x VStructDepth3_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_235); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F1) != 0 {
		if err := enc.NextField(1); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_12(enc, x.F1); err != nil {
			return err
		}
	}
	if len(x.F2) != 0 {
		if err := enc.NextField(2); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F3) != 0 {
		if err := enc.NextField(3); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, x.F3); err != nil {
			return err
		}
	}
	if !x.F4.VDLIsZero() {
		if err := enc.NextField(4); err != nil {
			return err
		}
		if err := x.F4.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F5 != nil && !x.F5.VDLIsZero() {
		if err := enc.NextField(5); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F6 != nil {
		if err := enc.NextField(6); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F6.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_12(enc vdl.Encoder, x []VUnionDepth1_All) error {
	if err := enc.StartValue(__VDLType_list_236); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case elem == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(__VDLType_union_116).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := elem.VDLWrite(enc); err != nil {
				return err
			}
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_All{
		F4: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
		F5: VUnionDepth2_AllF0{},
	}
	if err := dec.StartValue(__VDLType_struct_235); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_235 {
			index = __VDLType_struct_235.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		case 1:
			if err := __VDLReadAnon_list_12(dec, &x.F1); err != nil {
				return err
			}
		case 2:
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		case 3:
			if err := __VDLReadAnon_map_11(dec, &x.F3); err != nil {
				return err
			}
		case 4:
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		case 5:
			if err := VDLReadVUnionDepth2_All(dec, &x.F5); err != nil {
				return err
			}
		case 6:
			if err := dec.StartValue(__VDLType_optional_221); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F6 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F6 = new(VStructDepth2_Set_Float64)
				dec.IgnoreNextStartValue()
				if err := x.F6.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

func __VDLReadAnon_list_12(dec vdl.Decoder, x *[]VUnionDepth1_All) error {
	if err := dec.StartValue(__VDLType_list_236); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make([]VUnionDepth1_All, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VUnionDepth1_All
			if err := VDLReadVUnionDepth1_All(dec, &elem); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

type VStructDepth3_VArray1_Set_VEnumBcd struct {
	F0 VArray1_Set_VEnumBcd
}

func (VStructDepth3_VArray1_Set_VEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_VArray1_Set_VEnumBcd"`
}) {
}

func (x VStructDepth3_VArray1_Set_VEnumBcd) VDLIsZero() bool {
	if !x.F0.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth3_VArray1_Set_VEnumBcd) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_237); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_VArray1_Set_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_VArray1_Set_VEnumBcd{}
	if err := dec.StartValue(__VDLType_struct_237); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_237 {
			index = __VDLType_struct_237.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_List_VUnionDepth1_All struct {
	F1 []VUnionDepth1_All
}

func (VStructDepth3_List_VUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_List_VUnionDepth1_All"`
}) {
}

func (x VStructDepth3_List_VUnionDepth1_All) VDLIsZero() bool {
	if len(x.F1) != 0 {
		return false
	}
	return true
}

func (x VStructDepth3_List_VUnionDepth1_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_238); err != nil {
		return err
	}
	if len(x.F1) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_12(enc, x.F1); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_List_VUnionDepth1_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_List_VUnionDepth1_All{}
	if err := dec.StartValue(__VDLType_struct_238); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_238 {
			index = __VDLType_struct_238.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_list_12(dec, &x.F1); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_VSet_VArray1_VStructEmpty struct {
	F2 VSet_VArray1_VStructEmpty
}

func (VStructDepth3_VSet_VArray1_VStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_VSet_VArray1_VStructEmpty"`
}) {
}

func (x VStructDepth3_VSet_VArray1_VStructEmpty) VDLIsZero() bool {
	if len(x.F2) != 0 {
		return false
	}
	return true
}

func (x VStructDepth3_VSet_VArray1_VStructEmpty) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_239); err != nil {
		return err
	}
	if len(x.F2) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_VSet_VArray1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_VSet_VArray1_VStructEmpty{}
	if err := dec.StartValue(__VDLType_struct_239); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_239 {
			index = __VDLType_struct_239.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64 struct {
	F3 map[VUnionDepth1_Float64]VUnionDepth1_Float64
}

func (VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64"`
}) {
}

func (x VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLIsZero() bool {
	if len(x.F3) != 0 {
		return false
	}
	return true
}

func (x VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_240); err != nil {
		return err
	}
	if len(x.F3) != 0 {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, x.F3); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}
	if err := dec.StartValue(__VDLType_struct_240); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_240 {
			index = __VDLType_struct_240.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := __VDLReadAnon_map_11(dec, &x.F3); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_VStructDepth2_All struct {
	F4 VStructDepth2_All
}

func (VStructDepth3_VStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_VStructDepth2_All"`
}) {
}

func (x VStructDepth3_VStructDepth2_All) VDLIsZero() bool {
	if !x.F4.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth3_VStructDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_241); err != nil {
		return err
	}
	if !x.F4.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F4.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_VStructDepth2_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_VStructDepth2_All{
		F4: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	}
	if err := dec.StartValue(__VDLType_struct_241); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_241 {
			index = __VDLType_struct_241.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_VUnionDepth2_All struct {
	F5 VUnionDepth2_All
}

func (VStructDepth3_VUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_VUnionDepth2_All"`
}) {
}

func (x VStructDepth3_VUnionDepth2_All) VDLIsZero() bool {
	if x.F5 != nil && !x.F5.VDLIsZero() {
		return false
	}
	return true
}

func (x VStructDepth3_VUnionDepth2_All) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_242); err != nil {
		return err
	}
	if x.F5 != nil && !x.F5.VDLIsZero() {
		if err := enc.NextField(0); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_VUnionDepth2_All) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_VUnionDepth2_All{
		F5: VUnionDepth2_AllF0{},
	}
	if err := dec.StartValue(__VDLType_struct_242); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_242 {
			index = __VDLType_struct_242.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := VDLReadVUnionDepth2_All(dec, &x.F5); err != nil {
				return err
			}
		}
	}
}

type VStructDepth3_OptVStructDepth2_Set_Float64 struct {
	F6 *VStructDepth2_Set_Float64
}

func (VStructDepth3_OptVStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.VStructDepth3_OptVStructDepth2_Set_Float64"`
}) {
}

func (x VStructDepth3_OptVStructDepth2_Set_Float64) VDLIsZero() bool {
	return x == VStructDepth3_OptVStructDepth2_Set_Float64{}
}

func (x VStructDepth3_OptVStructDepth2_Set_Float64) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_struct_243); err != nil {
		return err
	}
	if x.F6 != nil {
		if err := enc.NextField(0); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.F6.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth3_OptVStructDepth2_Set_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth3_OptVStructDepth2_Set_Float64{}
	if err := dec.StartValue(__VDLType_struct_243); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_243 {
			index = __VDLType_struct_243.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			if err := dec.StartValue(__VDLType_optional_221); err != nil {
				return err
			}
			if dec.IsNil() {
				x.F6 = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.F6 = new(VStructDepth2_Set_Float64)
				dec.IgnoreNextStartValue()
				if err := x.F6.VDLRead(dec); err != nil {
					return err
				}
			}
		}
	}
}

type (
	// VUnionDepth3_All represents any single field of the VUnionDepth3_All union type.
	VUnionDepth3_All 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 VUnionDepth3_All union type.
		__VDLReflect(__VUnionDepth3_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_AllF0 represents field F0 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF0 struct {
		Value VArray3_OptVStructDepth1_VFloat32
	}
	// VUnionDepth3_AllF1 represents field F1 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF1 struct{ Value []VList_Error }
	// VUnionDepth3_AllF2 represents field F2 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF2 struct {
		Value map[VStructDepth1_String]struct{}
	}
	// VUnionDepth3_AllF3 represents field F3 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF3 struct {
		Value VMap_VStructDepth1_VBool_VStructDepth1_VBool
	}
	// VUnionDepth3_AllF4 represents field F4 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF4 struct{ Value VStructDepth2_All }
	// VUnionDepth3_AllF5 represents field F5 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF5 struct{ Value VUnionDepth2_All }
	// VUnionDepth3_AllF6 represents field F6 of the VUnionDepth3_All union type.
	VUnionDepth3_AllF6 struct{ Value *VStructDepth2_Set_Float64 }
	// __VUnionDepth3_AllReflect describes the VUnionDepth3_All union type.
	__VUnionDepth3_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_All"`
		Type  VUnionDepth3_All
		Union struct {
			F0 VUnionDepth3_AllF0
			F1 VUnionDepth3_AllF1
			F2 VUnionDepth3_AllF2
			F3 VUnionDepth3_AllF3
			F4 VUnionDepth3_AllF4
			F5 VUnionDepth3_AllF5
			F6 VUnionDepth3_AllF6
		}
	}
)

func (x VUnionDepth3_AllF0) Index() int                             { return 0 }
func (x VUnionDepth3_AllF0) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF0) Name() string                           { return "F0" }
func (x VUnionDepth3_AllF0) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF1) Index() int                             { return 1 }
func (x VUnionDepth3_AllF1) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF1) Name() string                           { return "F1" }
func (x VUnionDepth3_AllF1) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF2) Index() int                             { return 2 }
func (x VUnionDepth3_AllF2) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF2) Name() string                           { return "F2" }
func (x VUnionDepth3_AllF2) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF3) Index() int                             { return 3 }
func (x VUnionDepth3_AllF3) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF3) Name() string                           { return "F3" }
func (x VUnionDepth3_AllF3) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF4) Index() int                             { return 4 }
func (x VUnionDepth3_AllF4) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF4) Name() string                           { return "F4" }
func (x VUnionDepth3_AllF4) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF5) Index() int                             { return 5 }
func (x VUnionDepth3_AllF5) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF5) Name() string                           { return "F5" }
func (x VUnionDepth3_AllF5) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF6) Index() int                             { return 6 }
func (x VUnionDepth3_AllF6) Interface() interface{}                 { return x.Value }
func (x VUnionDepth3_AllF6) Name() string                           { return "F6" }
func (x VUnionDepth3_AllF6) __VDLReflect(__VUnionDepth3_AllReflect) {}

func (x VUnionDepth3_AllF0) VDLIsZero() bool {
	return x.Value == VArray3_OptVStructDepth1_VFloat32{}
}

func (x VUnionDepth3_AllF1) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF2) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF3) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF4) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF5) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF6) VDLIsZero() bool {
	return false
}

func (x VUnionDepth3_AllF0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(1); err != nil {
		return err
	}
	if err := __VDLWriteAnon_list_13(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(2); err != nil {
		return err
	}
	if err := __VDLWriteAnon_set_14(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(3); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(4); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(5); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_195).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	if err := enc.NextField(6); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_221); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_13(enc vdl.Encoder, x []VList_Error) error {
	if err := enc.StartValue(__VDLType_list_245); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := elem.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_14(enc vdl.Encoder, x map[VStructDepth1_String]struct{}) error {
	if err := enc.StartValue(__VDLType_set_246); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for key := range x {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := key.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_All(dec vdl.Decoder, x *VUnionDepth3_All) error {
	if err := dec.StartValue(__VDLType_union_244); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_244 {
		name := decType.Field(index).Name
		index = __VDLType_union_244.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_AllF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 1:
		var field VUnionDepth3_AllF1
		if err := __VDLReadAnon_list_13(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 2:
		var field VUnionDepth3_AllF2
		if err := __VDLReadAnon_set_14(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 3:
		var field VUnionDepth3_AllF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 4:
		var field VUnionDepth3_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case 5:
		var field VUnionDepth3_AllF5
		if err := VDLReadVUnionDepth2_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case 6:
		var field VUnionDepth3_AllF6
		if err := dec.StartValue(__VDLType_optional_221); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth2_Set_Float64)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

func __VDLReadAnon_list_13(dec vdl.Decoder, x *[]VList_Error) error {
	if err := dec.StartValue(__VDLType_list_245); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make([]VList_Error, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			var elem VList_Error
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
			*x = append(*x, elem)
		}
	}
}

func __VDLReadAnon_set_14(dec vdl.Decoder, x *map[VStructDepth1_String]struct{}) error {
	if err := dec.StartValue(__VDLType_set_246); err != nil {
		return err
	}
	var tmpMap map[VStructDepth1_String]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VStructDepth1_String]struct{}, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		default:
			var key VStructDepth1_String
			if err := key.VDLRead(dec); err != nil {
				return err
			}
			if tmpMap == nil {
				tmpMap = make(map[VStructDepth1_String]struct{})
			}
			tmpMap[key] = struct{}{}
		}
	}
}

type (
	// VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 represents any single field of the VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 union type.
	VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 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 VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 union type.
		__VDLReflect(__VUnionDepth3_VArray3_OptVStructDepth1_VFloat32Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0 represents field F0 of the VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 union type.
	VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0 struct {
		Value VArray3_OptVStructDepth1_VFloat32
	}
	// __VUnionDepth3_VArray3_OptVStructDepth1_VFloat32Reflect describes the VUnionDepth3_VArray3_OptVStructDepth1_VFloat32 union type.
	__VUnionDepth3_VArray3_OptVStructDepth1_VFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_VArray3_OptVStructDepth1_VFloat32"`
		Type  VUnionDepth3_VArray3_OptVStructDepth1_VFloat32
		Union struct {
			F0 VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0
		}
	}
)

func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) Index() int             { return 0 }
func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) Interface() interface{} { return x.Value }
func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) Name() string           { return "F0" }
func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) __VDLReflect(__VUnionDepth3_VArray3_OptVStructDepth1_VFloat32Reflect) {
}

func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) VDLIsZero() bool {
	return x.Value == VArray3_OptVStructDepth1_VFloat32{}
}

func (x VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_247); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VArray3_OptVStructDepth1_VFloat32(dec vdl.Decoder, x *VUnionDepth3_VArray3_OptVStructDepth1_VFloat32) error {
	if err := dec.StartValue(__VDLType_union_247); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_247 {
		name := decType.Field(index).Name
		index = __VDLType_union_247.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_List_VList_Error represents any single field of the VUnionDepth3_List_VList_Error union type.
	VUnionDepth3_List_VList_Error 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 VUnionDepth3_List_VList_Error union type.
		__VDLReflect(__VUnionDepth3_List_VList_ErrorReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_List_VList_ErrorF1 represents field F1 of the VUnionDepth3_List_VList_Error union type.
	VUnionDepth3_List_VList_ErrorF1 struct{ Value []VList_Error }
	// __VUnionDepth3_List_VList_ErrorReflect describes the VUnionDepth3_List_VList_Error union type.
	__VUnionDepth3_List_VList_ErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_List_VList_Error"`
		Type  VUnionDepth3_List_VList_Error
		Union struct {
			F1 VUnionDepth3_List_VList_ErrorF1
		}
	}
)

func (x VUnionDepth3_List_VList_ErrorF1) Index() int                                          { return 0 }
func (x VUnionDepth3_List_VList_ErrorF1) Interface() interface{}                              { return x.Value }
func (x VUnionDepth3_List_VList_ErrorF1) Name() string                                        { return "F1" }
func (x VUnionDepth3_List_VList_ErrorF1) __VDLReflect(__VUnionDepth3_List_VList_ErrorReflect) {}

func (x VUnionDepth3_List_VList_ErrorF1) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth3_List_VList_ErrorF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_248); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := __VDLWriteAnon_list_13(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_List_VList_Error(dec vdl.Decoder, x *VUnionDepth3_List_VList_Error) error {
	if err := dec.StartValue(__VDLType_union_248); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_248 {
		name := decType.Field(index).Name
		index = __VDLType_union_248.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_List_VList_ErrorF1
		if err := __VDLReadAnon_list_13(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_Set_VStructDepth1_String represents any single field of the VUnionDepth3_Set_VStructDepth1_String union type.
	VUnionDepth3_Set_VStructDepth1_String 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 VUnionDepth3_Set_VStructDepth1_String union type.
		__VDLReflect(__VUnionDepth3_Set_VStructDepth1_StringReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_Set_VStructDepth1_StringF2 represents field F2 of the VUnionDepth3_Set_VStructDepth1_String union type.
	VUnionDepth3_Set_VStructDepth1_StringF2 struct {
		Value map[VStructDepth1_String]struct{}
	}
	// __VUnionDepth3_Set_VStructDepth1_StringReflect describes the VUnionDepth3_Set_VStructDepth1_String union type.
	__VUnionDepth3_Set_VStructDepth1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_Set_VStructDepth1_String"`
		Type  VUnionDepth3_Set_VStructDepth1_String
		Union struct {
			F2 VUnionDepth3_Set_VStructDepth1_StringF2
		}
	}
)

func (x VUnionDepth3_Set_VStructDepth1_StringF2) Index() int             { return 0 }
func (x VUnionDepth3_Set_VStructDepth1_StringF2) Interface() interface{} { return x.Value }
func (x VUnionDepth3_Set_VStructDepth1_StringF2) Name() string           { return "F2" }
func (x VUnionDepth3_Set_VStructDepth1_StringF2) __VDLReflect(__VUnionDepth3_Set_VStructDepth1_StringReflect) {
}

func (x VUnionDepth3_Set_VStructDepth1_StringF2) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth3_Set_VStructDepth1_StringF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_249); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := __VDLWriteAnon_set_14(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_Set_VStructDepth1_String(dec vdl.Decoder, x *VUnionDepth3_Set_VStructDepth1_String) error {
	if err := dec.StartValue(__VDLType_union_249); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_249 {
		name := decType.Field(index).Name
		index = __VDLType_union_249.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_Set_VStructDepth1_StringF2
		if err := __VDLReadAnon_set_14(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool represents any single field of the VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool union type.
	VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool 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 VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool union type.
		__VDLReflect(__VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3 represents field F3 of the VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool union type.
	VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3 struct {
		Value VMap_VStructDepth1_VBool_VStructDepth1_VBool
	}
	// __VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolReflect describes the VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool union type.
	__VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool"`
		Type  VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool
		Union struct {
			F3 VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3
		}
	}
)

func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) Index() int { return 0 }
func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) Interface() interface{} {
	return x.Value
}
func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) Name() string { return "F3" }
func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) __VDLReflect(__VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolReflect) {
}

func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) VDLIsZero() bool {
	return len(x.Value) == 0
}

func (x VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_250); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(dec vdl.Decoder, x *VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool) error {
	if err := dec.StartValue(__VDLType_union_250); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_250 {
		name := decType.Field(index).Name
		index = __VDLType_union_250.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_VStructDepth2_All represents any single field of the VUnionDepth3_VStructDepth2_All union type.
	VUnionDepth3_VStructDepth2_All 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 VUnionDepth3_VStructDepth2_All union type.
		__VDLReflect(__VUnionDepth3_VStructDepth2_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_VStructDepth2_AllF4 represents field F4 of the VUnionDepth3_VStructDepth2_All union type.
	VUnionDepth3_VStructDepth2_AllF4 struct{ Value VStructDepth2_All }
	// __VUnionDepth3_VStructDepth2_AllReflect describes the VUnionDepth3_VStructDepth2_All union type.
	__VUnionDepth3_VStructDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_VStructDepth2_All"`
		Type  VUnionDepth3_VStructDepth2_All
		Union struct {
			F4 VUnionDepth3_VStructDepth2_AllF4
		}
	}
)

func (x VUnionDepth3_VStructDepth2_AllF4) Index() int                                           { return 0 }
func (x VUnionDepth3_VStructDepth2_AllF4) Interface() interface{}                               { return x.Value }
func (x VUnionDepth3_VStructDepth2_AllF4) Name() string                                         { return "F4" }
func (x VUnionDepth3_VStructDepth2_AllF4) __VDLReflect(__VUnionDepth3_VStructDepth2_AllReflect) {}

func (x VUnionDepth3_VStructDepth2_AllF4) VDLIsZero() bool {
	return x.Value.VDLIsZero()
}

func (x VUnionDepth3_VStructDepth2_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_251); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VStructDepth2_All(dec vdl.Decoder, x *VUnionDepth3_VStructDepth2_All) error {
	if err := dec.StartValue(__VDLType_union_251); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_251 {
		name := decType.Field(index).Name
		index = __VDLType_union_251.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_VStructDepth2_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_VUnionDepth2_All represents any single field of the VUnionDepth3_VUnionDepth2_All union type.
	VUnionDepth3_VUnionDepth2_All 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 VUnionDepth3_VUnionDepth2_All union type.
		__VDLReflect(__VUnionDepth3_VUnionDepth2_AllReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_VUnionDepth2_AllF5 represents field F5 of the VUnionDepth3_VUnionDepth2_All union type.
	VUnionDepth3_VUnionDepth2_AllF5 struct{ Value VUnionDepth2_All }
	// __VUnionDepth3_VUnionDepth2_AllReflect describes the VUnionDepth3_VUnionDepth2_All union type.
	__VUnionDepth3_VUnionDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_VUnionDepth2_All"`
		Type  VUnionDepth3_VUnionDepth2_All
		Union struct {
			F5 VUnionDepth3_VUnionDepth2_AllF5
		}
	}
)

func (x VUnionDepth3_VUnionDepth2_AllF5) Index() int                                          { return 0 }
func (x VUnionDepth3_VUnionDepth2_AllF5) Interface() interface{}                              { return x.Value }
func (x VUnionDepth3_VUnionDepth2_AllF5) Name() string                                        { return "F5" }
func (x VUnionDepth3_VUnionDepth2_AllF5) __VDLReflect(__VUnionDepth3_VUnionDepth2_AllReflect) {}

func (x VUnionDepth3_VUnionDepth2_AllF5) VDLIsZero() bool {
	return x.Value == nil || x.Value.VDLIsZero()
}

func (x VUnionDepth3_VUnionDepth2_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_252); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(__VDLType_union_195).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VUnionDepth2_All(dec vdl.Decoder, x *VUnionDepth3_VUnionDepth2_All) error {
	if err := dec.StartValue(__VDLType_union_252); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_252 {
		name := decType.Field(index).Name
		index = __VDLType_union_252.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_VUnionDepth2_AllF5
		if err := VDLReadVUnionDepth2_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VUnionDepth3_OptVStructDepth2_Set_Float64 represents any single field of the VUnionDepth3_OptVStructDepth2_Set_Float64 union type.
	VUnionDepth3_OptVStructDepth2_Set_Float64 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 VUnionDepth3_OptVStructDepth2_Set_Float64 union type.
		__VDLReflect(__VUnionDepth3_OptVStructDepth2_Set_Float64Reflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VUnionDepth3_OptVStructDepth2_Set_Float64F6 represents field F6 of the VUnionDepth3_OptVStructDepth2_Set_Float64 union type.
	VUnionDepth3_OptVStructDepth2_Set_Float64F6 struct{ Value *VStructDepth2_Set_Float64 }
	// __VUnionDepth3_OptVStructDepth2_Set_Float64Reflect describes the VUnionDepth3_OptVStructDepth2_Set_Float64 union type.
	__VUnionDepth3_OptVStructDepth2_Set_Float64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VUnionDepth3_OptVStructDepth2_Set_Float64"`
		Type  VUnionDepth3_OptVStructDepth2_Set_Float64
		Union struct {
			F6 VUnionDepth3_OptVStructDepth2_Set_Float64F6
		}
	}
)

func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) Index() int             { return 0 }
func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) Interface() interface{} { return x.Value }
func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) Name() string           { return "F6" }
func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) __VDLReflect(__VUnionDepth3_OptVStructDepth2_Set_Float64Reflect) {
}

func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) VDLIsZero() bool {
	return x.Value == nil
}

func (x VUnionDepth3_OptVStructDepth2_Set_Float64F6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(__VDLType_union_253); err != nil {
		return err
	}
	if err := enc.NextField(0); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(__VDLType_optional_221); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_OptVStructDepth2_Set_Float64(dec vdl.Decoder, x *VUnionDepth3_OptVStructDepth2_Set_Float64) error {
	if err := dec.StartValue(__VDLType_union_253); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_253 {
		name := decType.Field(index).Name
		index = __VDLType_union_253.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VUnionDepth3_OptVStructDepth2_Set_Float64F6
		if err := dec.StartValue(__VDLType_optional_221); err != nil {
			return err
		}
		if dec.IsNil() {
			field.Value = nil
			if err := dec.FinishValue(); err != nil {
				return err
			}
		} else {
			field.Value = new(VStructDepth2_Set_Float64)
			dec.IgnoreNextStartValue()
			if err := field.Value.VDLRead(dec); err != nil {
				return err
			}
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type())
	}
	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(__VDLType_struct_254); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int64Type, x.Data); err != nil {
			return err
		}
	}
	if x.Next != nil {
		if err := enc.NextField(1); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.Next.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSelfCycle) VDLRead(dec vdl.Decoder) error {
	*x = VSelfCycle{}
	if err := dec.StartValue(__VDLType_struct_254); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_254 {
			index = __VDLType_struct_254.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.Data = value
			}
		case 1:
			if err := dec.StartValue(__VDLType_optional_255); err != nil {
				return err
			}
			if dec.IsNil() {
				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
				}
			}
		}
	}
}

// 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(__VDLType_struct_256); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int64Type, x.Data); err != nil {
			return err
		}
	}
	if x.A != nil {
		if err := enc.NextField(1); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.A.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMutualCycleB) VDLRead(dec vdl.Decoder) error {
	*x = VMutualCycleB{}
	if err := dec.StartValue(__VDLType_struct_256); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_256 {
			index = __VDLType_struct_256.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.Data = value
			}
		case 1:
			if err := dec.StartValue(__VDLType_optional_257); err != nil {
				return err
			}
			if dec.IsNil() {
				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
				}
			}
		}
	}
}

// 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(__VDLType_struct_258); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextFieldValueInt(0, vdl.Int64Type, x.Data); err != nil {
			return err
		}
	}
	if x.B != nil {
		if err := enc.NextField(1); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()
		if err := x.B.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMutualCycleA) VDLRead(dec vdl.Decoder) error {
	*x = VMutualCycleA{}
	if err := dec.StartValue(__VDLType_struct_258); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_258 {
			index = __VDLType_struct_258.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueInt(64); {
			case err != nil:
				return err
			default:
				x.Data = value
			}
		case 1:
			if err := dec.StartValue(__VDLType_optional_259); err != nil {
				return err
			}
			if dec.IsNil() {
				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
				}
			}
		}
	}
}

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.WriteValueBool(__VDLType_bool_260, bool(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireBoolNBool) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueBool(); {
	case err != nil:
		return err
	default:
		*x = VWireBoolNBool(value)
	}
	return nil
}

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.WriteValueBool(__VDLType_bool_261, bool(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireBoolNString) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueBool(); {
	case err != nil:
		return err
	default:
		*x = VWireBoolNString(value)
	}
	return nil
}

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.WriteValueBool(__VDLType_bool_262, bool(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireBoolNStruct) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueBool(); {
	case err != nil:
		return err
	default:
		*x = VWireBoolNStruct(value)
	}
	return nil
}

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.WriteValueInt(__VDLType_int32_263, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireIntNInt) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(32); {
	case err != nil:
		return err
	default:
		*x = VWireIntNInt(value)
	}
	return nil
}

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.WriteValueInt(__VDLType_int32_264, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireIntNString) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(32); {
	case err != nil:
		return err
	default:
		*x = VWireIntNString(value)
	}
	return nil
}

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.WriteValueInt(__VDLType_int32_265, int64(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireIntNStruct) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueInt(32); {
	case err != nil:
		return err
	default:
		*x = VWireIntNStruct(value)
	}
	return nil
}

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.WriteValueString(__VDLType_string_266, string(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireStringNString) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueString(); {
	case err != nil:
		return err
	default:
		*x = VWireStringNString(value)
	}
	return nil
}

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.WriteValueString(__VDLType_string_267, string(x)); err != nil {
		return err
	}
	return nil
}

func (x *VWireStringNStruct) VDLRead(dec vdl.Decoder) error {
	switch value, err := dec.ReadValueString(); {
	case err != nil:
		return err
	default:
		*x = VWireStringNStruct(value)
	}
	return nil
}

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(__VDLType_array_268); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); 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(__VDLType_array_268); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

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(__VDLType_array_269); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); 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(__VDLType_array_269); err != nil {
		return err
	}
	for index := 0; index < 1; index++ {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return fmt.Errorf("short array, got len %d < 1 %T)", index, *x)
		default:
			x[index] = elem
		}
	}
	switch done, err := dec.NextEntry(); {
	case err != nil:
		return err
	case !done:
		return fmt.Errorf("long array, got len > 1 %T", *x)
	}
	return dec.FinishValue()
}

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(__VDLType_list_270); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); 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(__VDLType_list_270); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VWireListNString, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*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(__VDLType_list_271); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for _, elem := range x {
		if err := enc.NextEntryValueString(vdl.StringType, elem); 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(__VDLType_list_271); err != nil {
		return err
	}
	if len := dec.LenHint(); len > 0 {
		*x = make(VWireListNStruct, 0, len)
	} else {
		*x = nil
	}
	for {
		switch done, elem, err := dec.NextEntryValueString(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		default:
			*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(__VDLType_struct_272); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNString) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNString{}
	if err := dec.StartValue(__VDLType_struct_272); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_272 {
			index = __VDLType_struct_272.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_struct_273); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNStruct) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNStruct{}
	if err := dec.StartValue(__VDLType_struct_273); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_273 {
			index = __VDLType_struct_273.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_struct_274); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNArray) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNArray{}
	if err := dec.StartValue(__VDLType_struct_274); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_274 {
			index = __VDLType_struct_274.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_struct_275); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNSlice) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNSlice{}
	if err := dec.StartValue(__VDLType_struct_275); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_275 {
			index = __VDLType_struct_275.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_struct_276); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNPointer) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNPointer{}
	if err := dec.StartValue(__VDLType_struct_276); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_276 {
			index = __VDLType_struct_276.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_struct_277); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextFieldValueString(0, vdl.StringType, x.X); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNIface) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNIface{}
	if err := dec.StartValue(__VDLType_struct_277); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_277 {
			index = __VDLType_struct_277.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			switch value, err := dec.ReadValueString(); {
			case err != nil:
				return err
			default:
				x.X = value
			}
		}
	}
}

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(__VDLType_union_278); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNString(dec vdl.Decoder, x *VWireUnionNString) error {
	if err := dec.StartValue(__VDLType_union_278); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_278 {
		name := decType.Field(index).Name
		index = __VDLType_union_278.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNStringX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_union_279); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNStruct(dec vdl.Decoder, x *VWireUnionNStruct) error {
	if err := dec.StartValue(__VDLType_union_279); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_279 {
		name := decType.Field(index).Name
		index = __VDLType_union_279.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNStructX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_union_280); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNArray(dec vdl.Decoder, x *VWireUnionNArray) error {
	if err := dec.StartValue(__VDLType_union_280); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_280 {
		name := decType.Field(index).Name
		index = __VDLType_union_280.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNArrayX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_union_281); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNSlice(dec vdl.Decoder, x *VWireUnionNSlice) error {
	if err := dec.StartValue(__VDLType_union_281); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_281 {
		name := decType.Field(index).Name
		index = __VDLType_union_281.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNSliceX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_union_282); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNPointer(dec vdl.Decoder, x *VWireUnionNPointer) error {
	if err := dec.StartValue(__VDLType_union_282); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_282 {
		name := decType.Field(index).Name
		index = __VDLType_union_282.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNPointerX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_union_283); err != nil {
		return err
	}
	if err := enc.NextFieldValueString(0, vdl.StringType, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(-1); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNIface(dec vdl.Decoder, x *VWireUnionNIface) error {
	if err := dec.StartValue(__VDLType_union_283); err != nil {
		return err
	}
	decType := dec.Type()
	index, err := dec.NextField()
	switch {
	case err != nil:
		return err
	case index == -1:
		return fmt.Errorf("missing field in union %T, from %v", x, decType)
	}
	if decType != __VDLType_union_283 {
		name := decType.Field(index).Name
		index = __VDLType_union_283.FieldIndexByName(name)
		if index == -1 {
			return fmt.Errorf("field %q not in union %T, from %v", name, x, decType)
		}
	}
	switch index {
	case 0:
		var field VWireUnionNIfaceX
		switch value, err := dec.ReadValueString(); {
		case err != nil:
			return err
		default:
			field.Value = value
		}
		*x = field
	}
	switch index, err := dec.NextField(); {
	case err != nil:
		return err
	case index != -1:
		return fmt.Errorf("extra field %d in union %T, from %v", index, 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(__VDLType_struct_284); err != nil {
		return err
	}
	if x.BoolNBool != false {
		var wire VWireBoolNBool
		if err := VWireBoolNBoolFromNative(&wire, x.BoolNBool); err != nil {
			return err
		}
		if err := enc.NextFieldValueBool(0, __VDLType_bool_260, bool(wire)); err != nil {
			return err
		}
	}
	if x.BoolNString != "" {
		var wire VWireBoolNString
		if err := VWireBoolNStringFromNative(&wire, x.BoolNString); err != nil {
			return err
		}
		if err := enc.NextFieldValueBool(1, __VDLType_bool_261, bool(wire)); err != nil {
			return err
		}
	}
	if x.BoolNStruct != (VNativeWireBoolNStruct{}) {
		var wire VWireBoolNStruct
		if err := VWireBoolNStructFromNative(&wire, x.BoolNStruct); err != nil {
			return err
		}
		if err := enc.NextFieldValueBool(2, __VDLType_bool_262, bool(wire)); err != nil {
			return err
		}
	}
	if x.IntNInt != 0 {
		var wire VWireIntNInt
		if err := VWireIntNIntFromNative(&wire, x.IntNInt); err != nil {
			return err
		}
		if err := enc.NextFieldValueInt(3, __VDLType_int32_263, int64(wire)); err != nil {
			return err
		}
	}
	if x.IntNString != "" {
		var wire VWireIntNString
		if err := VWireIntNStringFromNative(&wire, x.IntNString); err != nil {
			return err
		}
		if err := enc.NextFieldValueInt(4, __VDLType_int32_264, int64(wire)); err != nil {
			return err
		}
	}
	if x.IntNStruct != (VNativeWireIntNStruct{}) {
		var wire VWireIntNStruct
		if err := VWireIntNStructFromNative(&wire, x.IntNStruct); err != nil {
			return err
		}
		if err := enc.NextFieldValueInt(5, __VDLType_int32_265, int64(wire)); err != nil {
			return err
		}
	}
	if x.StringNString != "" {
		var wire VWireStringNString
		if err := VWireStringNStringFromNative(&wire, x.StringNString); err != nil {
			return err
		}
		if err := enc.NextFieldValueString(6, __VDLType_string_266, string(wire)); err != nil {
			return err
		}
	}
	if x.StringNStruct != (VNativeWireStringNStruct{}) {
		var wire VWireStringNStruct
		if err := VWireStringNStructFromNative(&wire, x.StringNStruct); err != nil {
			return err
		}
		if err := enc.NextFieldValueString(7, __VDLType_string_267, string(wire)); err != nil {
			return err
		}
	}
	if x.ArrayNString != "" {
		if err := enc.NextField(8); 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(9); 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(10); 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(11); 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(12); 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(13); 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(14); 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(15); 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(16); err != nil {
			return err
		}
		if err := x.StructNPointer.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNIface != (VWireStructNIface{}) {
		if err := enc.NextField(17); err != nil {
			return err
		}
		if err := x.StructNIface.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNString != "" {
		if err := enc.NextField(18); 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(19); 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(20); 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(21); 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(22); 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(23); err != nil {
			return err
		}
		if err := x.UnionNIface.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(-1); 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(__VDLType_struct_284); err != nil {
		return err
	}
	decType := dec.Type()
	for {
		index, err := dec.NextField()
		switch {
		case err != nil:
			return err
		case index == -1:
			return dec.FinishValue()
		}
		if decType != __VDLType_struct_284 {
			index = __VDLType_struct_284.FieldIndexByName(decType.Field(index).Name)
			if index == -1 {
				if err := dec.SkipValue(); err != nil {
					return err
				}
				continue
			}
		}
		switch index {
		case 0:
			var wire VWireBoolNBool
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNBoolToNative(wire, &x.BoolNBool); err != nil {
				return err
			}
		case 1:
			var wire VWireBoolNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNStringToNative(wire, &x.BoolNString); err != nil {
				return err
			}
		case 2:
			var wire VWireBoolNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNStructToNative(wire, &x.BoolNStruct); err != nil {
				return err
			}
		case 3:
			var wire VWireIntNInt
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNIntToNative(wire, &x.IntNInt); err != nil {
				return err
			}
		case 4:
			var wire VWireIntNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNStringToNative(wire, &x.IntNString); err != nil {
				return err
			}
		case 5:
			var wire VWireIntNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNStructToNative(wire, &x.IntNStruct); err != nil {
				return err
			}
		case 6:
			var wire VWireStringNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStringNStringToNative(wire, &x.StringNString); err != nil {
				return err
			}
		case 7:
			var wire VWireStringNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStringNStructToNative(wire, &x.StringNStruct); err != nil {
				return err
			}
		case 8:
			var wire VWireArrayNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireArrayNStringToNative(wire, &x.ArrayNString); err != nil {
				return err
			}
		case 9:
			var wire VWireArrayNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireArrayNStructToNative(wire, &x.ArrayNStruct); err != nil {
				return err
			}
		case 10:
			var wire VWireListNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireListNStringToNative(wire, &x.ListNString); err != nil {
				return err
			}
		case 11:
			var wire VWireListNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireListNStructToNative(wire, &x.ListNStruct); err != nil {
				return err
			}
		case 12:
			var wire VWireStructNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNStringToNative(wire, &x.StructNString); err != nil {
				return err
			}
		case 13:
			var wire VWireStructNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNStructToNative(wire, &x.StructNStruct); err != nil {
				return err
			}
		case 14:
			var wire VWireStructNArray
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNArrayToNative(wire, &x.StructNArray); err != nil {
				return err
			}
		case 15:
			var wire VWireStructNSlice
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNSliceToNative(wire, &x.StructNSlice); err != nil {
				return err
			}
		case 16:
			if err := x.StructNPointer.VDLRead(dec); err != nil {
				return err
			}
		case 17:
			if err := x.StructNIface.VDLRead(dec); err != nil {
				return err
			}
		case 18:
			var wire VWireUnionNString
			if err := VDLReadVWireUnionNString(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNStringToNative(wire, &x.UnionNString); err != nil {
				return err
			}
		case 19:
			var wire VWireUnionNStruct
			if err := VDLReadVWireUnionNStruct(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNStructToNative(wire, &x.UnionNStruct); err != nil {
				return err
			}
		case 20:
			var wire VWireUnionNArray
			if err := VDLReadVWireUnionNArray(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNArrayToNative(wire, &x.UnionNArray); err != nil {
				return err
			}
		case 21:
			var wire VWireUnionNSlice
			if err := VDLReadVWireUnionNSlice(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNSliceToNative(wire, &x.UnionNSlice); err != nil {
				return err
			}
		case 22:
			if err := VDLReadVWireUnionNPointer(dec, &x.UnionNPointer); err != nil {
				return err
			}
		case 23:
			if err := VDLReadVWireUnionNIface(dec, &x.UnionNIface); err != nil {
				return err
			}
		}
	}
}

type XBool bool

func (XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XBool"`
}) {
}

type XString string

func (XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XString"`
}) {
}

type XByte byte

func (XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XByte"`
}) {
}

type XEnumAbc int

const (
	XEnumAbcA XEnumAbc = iota
	XEnumAbcB
	XEnumAbcC
)

// XEnumAbcAll holds all labels for XEnumAbc.
var XEnumAbcAll = [...]XEnumAbc{XEnumAbcA, XEnumAbcB, XEnumAbcC}

// XEnumAbcFromString creates a XEnumAbc from a string label.
func XEnumAbcFromString(label string) (x XEnumAbc, err error) {
	err = x.Set(label)
	return
}

// Set assigns label to x.
func (x *XEnumAbc) Set(label string) error {
	switch label {
	case "A", "a":
		*x = XEnumAbcA
		return nil
	case "B", "b":
		*x = XEnumAbcB
		return nil
	case "C", "c":
		*x = XEnumAbcC
		return nil
	}
	*x = -1
	return fmt.Errorf("unknown label %q in vdltest.XEnumAbc", label)
}

// String returns the string label of x.
func (x XEnumAbc) String() string {
	switch x {
	case XEnumAbcA:
		return "A"
	case XEnumAbcB:
		return "B"
	case XEnumAbcC:
		return "C"
	}
	return ""
}

func (XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XEnumAbc"`
	Enum struct{ A, B, C string }
}) {
}

type XEnumBcd int

const (
	XEnumBcdB XEnumBcd = iota
	XEnumBcdC
	XEnumBcdD
)

// XEnumBcdAll holds all labels for XEnumBcd.
var XEnumBcdAll = [...]XEnumBcd{XEnumBcdB, XEnumBcdC, XEnumBcdD}

// XEnumBcdFromString creates a XEnumBcd from a string label.
func XEnumBcdFromString(label string) (x XEnumBcd, err error) {
	err = x.Set(label)
	return
}

// Set assigns label to x.
func (x *XEnumBcd) Set(label string) error {
	switch label {
	case "B", "b":
		*x = XEnumBcdB
		return nil
	case "C", "c":
		*x = XEnumBcdC
		return nil
	case "D", "d":
		*x = XEnumBcdD
		return nil
	}
	*x = -1
	return fmt.Errorf("unknown label %q in vdltest.XEnumBcd", label)
}

// String returns the string label of x.
func (x XEnumBcd) String() string {
	switch x {
	case XEnumBcdB:
		return "B"
	case XEnumBcdC:
		return "C"
	case XEnumBcdD:
		return "D"
	}
	return ""
}

func (XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XEnumBcd"`
	Enum struct{ B, C, D string }
}) {
}

type XStructEmpty struct {
}

func (XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructEmpty"`
}) {
}

type XNamedError struct {
	Id  string
	Msg string
}

func (XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XNamedError"`
}) {
}

type XUint16 uint16

func (XUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XUint16"`
}) {
}

type XUint32 uint32

func (XUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XUint32"`
}) {
}

type XUint64 uint64

func (XUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XUint64"`
}) {
}

type XInt8 int8

func (XInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XInt8"`
}) {
}

type XInt16 int16

func (XInt16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XInt16"`
}) {
}

type XInt32 int32

func (XInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XInt32"`
}) {
}

type XInt64 int64

func (XInt64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XInt64"`
}) {
}

type XFloat32 float32

func (XFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XFloat32"`
}) {
}

type XFloat64 float64

func (XFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XFloat64"`
}) {
}

type XArray3_Any [3]interface{}

func (XArray3_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_Any"`
}) {
}

type XArray3_Bool [3]bool

func (XArray3_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_Bool"`
}) {
}

type XArray3_XBool [3]XBool

func (XArray3_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_XBool"`
}) {
}

type XArray1_String [1]string

func (XArray1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_String"`
}) {
}

type XArray3_XString [3]XString

func (XArray3_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_XString"`
}) {
}

type XArray2_TypeObject [2]*vdl.Type

func (XArray2_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_TypeObject"`
}) {
}

type XArray1_Byte [1]byte

func (XArray1_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_Byte"`
}) {
}

type XArray2_XByte [2]XByte

func (XArray2_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XByte"`
}) {
}

type XArray2_XEnumAbc [2]XEnumAbc

func (XArray2_XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XEnumAbc"`
}) {
}

type XArray2_XEnumBcd [2]XEnumBcd

func (XArray2_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XEnumBcd"`
}) {
}

type XArray1_XStructEmpty [1]XStructEmpty

func (XArray1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_XStructEmpty"`
}) {
}

type XArray1_XNamedError [1]XNamedError

func (XArray1_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_XNamedError"`
}) {
}

type XArray2_Error [2]error

func (XArray2_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_Error"`
}) {
}

type XArray1_Uint32 [1]uint32

func (XArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_Uint32"`
}) {
}

type XArray3_Uint64 [3]uint64

func (XArray3_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_Uint64"`
}) {
}

type XArray3_Int64 [3]int64

func (XArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_Int64"`
}) {
}

type XArray1_OptXStructEmpty [1]*XStructEmpty

func (XArray1_OptXStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_OptXStructEmpty"`
}) {
}

type XArray3_OptXNamedError [3]*XNamedError

func (XArray3_OptXNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_OptXNamedError"`
}) {
}

type XList_Any []interface{}

func (XList_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_Any"`
}) {
}

type XList_Bool []bool

func (XList_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_Bool"`
}) {
}

type XList_XBool []XBool

func (XList_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XBool"`
}) {
}

type XList_String []string

func (XList_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_String"`
}) {
}

type XList_XString []XString

func (XList_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XString"`
}) {
}

type XList_TypeObject []*vdl.Type

func (XList_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_TypeObject"`
}) {
}

type XList_Byte []byte

func (XList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_Byte"`
}) {
}

type XList_XByte []XByte

func (XList_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XByte"`
}) {
}

type XList_XEnumAbc []XEnumAbc

func (XList_XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XEnumAbc"`
}) {
}

type XList_XEnumBcd []XEnumBcd

func (XList_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XEnumBcd"`
}) {
}

type XList_XStructEmpty []XStructEmpty

func (XList_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XStructEmpty"`
}) {
}

type XList_XNamedError []XNamedError

func (XList_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XNamedError"`
}) {
}

type XList_Error []error

func (XList_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_Error"`
}) {
}

type XList_XUint16 []XUint16

func (XList_XUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XUint16"`
}) {
}

type XList_XFloat32 []XFloat32

func (XList_XFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XFloat32"`
}) {
}

type XList_XFloat64 []XFloat64

func (XList_XFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XFloat64"`
}) {
}

type XList_OptXStructEmpty []*XStructEmpty

func (XList_OptXStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_OptXStructEmpty"`
}) {
}

type XList_OptXNamedError []*XNamedError

func (XList_OptXNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_OptXNamedError"`
}) {
}

type XSet_Bool map[bool]struct{}

func (XSet_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_Bool"`
}) {
}

type XSet_XBool map[XBool]struct{}

func (XSet_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XBool"`
}) {
}

type XSet_String map[string]struct{}

func (XSet_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_String"`
}) {
}

type XSet_XString map[XString]struct{}

func (XSet_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XString"`
}) {
}

type XSet_Byte map[byte]struct{}

func (XSet_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_Byte"`
}) {
}

type XSet_XByte map[XByte]struct{}

func (XSet_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XByte"`
}) {
}

type XSet_XEnumAbc map[XEnumAbc]struct{}

func (XSet_XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XEnumAbc"`
}) {
}

type XSet_XEnumBcd map[XEnumBcd]struct{}

func (XSet_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XEnumBcd"`
}) {
}

type XSet_XStructEmpty map[XStructEmpty]struct{}

func (XSet_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XStructEmpty"`
}) {
}

type XSet_XNamedError map[XNamedError]struct{}

func (XSet_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XNamedError"`
}) {
}

type XSet_Uint64 map[uint64]struct{}

func (XSet_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_Uint64"`
}) {
}

type XSet_XUint64 map[XUint64]struct{}

func (XSet_XUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XUint64"`
}) {
}

type XSet_Float32 map[float32]struct{}

func (XSet_Float32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_Float32"`
}) {
}

type XMap_Bool_Bool map[bool]bool

func (XMap_Bool_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_Bool_Bool"`
}) {
}

type XMap_XBool_XBool map[XBool]XBool

func (XMap_XBool_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XBool_XBool"`
}) {
}

type XMap_String_String map[string]string

func (XMap_String_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_String_String"`
}) {
}

type XMap_XString_XString map[XString]XString

func (XMap_XString_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XString_XString"`
}) {
}

type XMap_Byte_Byte map[byte]byte

func (XMap_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_Byte_Byte"`
}) {
}

type XMap_XByte_XByte map[XByte]XByte

func (XMap_XByte_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XByte_XByte"`
}) {
}

type XMap_XEnumAbc_XEnumAbc map[XEnumAbc]XEnumAbc

func (XMap_XEnumAbc_XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XEnumAbc_XEnumAbc"`
}) {
}

type XMap_XEnumBcd_XEnumBcd map[XEnumBcd]XEnumBcd

func (XMap_XEnumBcd_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XEnumBcd_XEnumBcd"`
}) {
}

type XMap_XStructEmpty_XStructEmpty map[XStructEmpty]XStructEmpty

func (XMap_XStructEmpty_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XStructEmpty_XStructEmpty"`
}) {
}

type XMap_XNamedError_XNamedError map[XNamedError]XNamedError

func (XMap_XNamedError_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XNamedError_XNamedError"`
}) {
}

type XMap_XUint32_XUint32 map[XUint32]XUint32

func (XMap_XUint32_XUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XUint32_XUint32"`
}) {
}

type XMap_XInt32_XInt32 map[XInt32]XInt32

func (XMap_XInt32_XInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XInt32_XInt32"`
}) {
}

type XMap_Int64_Int64 map[int64]int64

func (XMap_Int64_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_Int64_Int64"`
}) {
}

type XStructDepth1_All struct {
	F0  interface{}
	F1  bool
	F2  XBool
	F3  string
	F4  XString
	F5  *vdl.Type
	F6  byte
	F7  XByte
	F8  XEnumAbc
	F9  XEnumBcd
	F10 XStructEmpty
	F11 XNamedError
	F12 error
	F13 uint16
	F14 XUint16
	F15 uint32
	F16 XUint32
	F17 uint64
	F18 XUint64
	F19 int8
	F20 XInt8
	F21 int16
	F22 XInt16
	F23 int32
	F24 XInt32
	F25 int64
	F26 XInt64
	F27 float32
	F28 XFloat32
	F29 float64
	F30 XFloat64
	F31 *XStructEmpty
	F32 *XNamedError
}

func (XStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_All"`
}) {
}

type XStructDepth1_Any struct {
	F0 interface{}
}

func (XStructDepth1_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Any"`
}) {
}

type XStructDepth1_Bool struct {
	F1 bool
}

func (XStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Bool"`
}) {
}

type XStructDepth1_XBool struct {
	F2 XBool
}

func (XStructDepth1_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XBool"`
}) {
}

type XStructDepth1_String struct {
	F3 string
}

func (XStructDepth1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_String"`
}) {
}

type XStructDepth1_XString struct {
	F4 XString
}

func (XStructDepth1_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XString"`
}) {
}

type XStructDepth1_TypeObject struct {
	F5 *vdl.Type
}

func (XStructDepth1_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_TypeObject"`
}) {
}

type XStructDepth1_Byte struct {
	F6 byte
}

func (XStructDepth1_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Byte"`
}) {
}

type XStructDepth1_XByte struct {
	F7 XByte
}

func (XStructDepth1_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XByte"`
}) {
}

type XStructDepth1_XEnumAbc struct {
	F8 XEnumAbc
}

func (XStructDepth1_XEnumAbc) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XEnumAbc"`
}) {
}

type XStructDepth1_XEnumBcd struct {
	F9 XEnumBcd
}

func (XStructDepth1_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XEnumBcd"`
}) {
}

type XStructDepth1_XStructEmpty struct {
	F10 XStructEmpty
}

func (XStructDepth1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XStructEmpty"`
}) {
}

type XStructDepth1_XNamedError struct {
	F11 XNamedError
}

func (XStructDepth1_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XNamedError"`
}) {
}

type XStructDepth1_Error struct {
	F12 error
}

func (XStructDepth1_Error) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Error"`
}) {
}

type XStructDepth1_Uint16 struct {
	F13 uint16
}

func (XStructDepth1_Uint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Uint16"`
}) {
}

type XStructDepth1_XUint16 struct {
	F14 XUint16
}

func (XStructDepth1_XUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XUint16"`
}) {
}

type XStructDepth1_Uint32 struct {
	F15 uint32
}

func (XStructDepth1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Uint32"`
}) {
}

type XStructDepth1_XUint32 struct {
	F16 XUint32
}

func (XStructDepth1_XUint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XUint32"`
}) {
}

type XStructDepth1_Uint64 struct {
	F17 uint64
}

func (XStructDepth1_Uint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Uint64"`
}) {
}

type XStructDepth1_XUint64 struct {
	F18 XUint64
}

func (XStructDepth1_XUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XUint64"`
}) {
}

type XStructDepth1_Int8 struct {
	F19 int8
}

func (XStructDepth1_Int8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Int8"`
}) {
}

type XStructDepth1_XInt8 struct {
	F20 XInt8
}

func (XStructDepth1_XInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XInt8"`
}) {
}

type XStructDepth1_Int16 struct {
	F21 int16
}

func (XStructDepth1_Int16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Int16"`
}) {
}

type XStructDepth1_XInt16 struct {
	F22 XInt16
}

func (XStructDepth1_XInt16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XInt16"`
}) {
}

type XStructDepth1_Int32 struct {
	F23 int32
}

func (XStructDepth1_Int32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Int32"`
}) {
}

type XStructDepth1_XInt32 struct {
	F24 XInt32
}

func (XStructDepth1_XInt32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XInt32"`
}) {
}

type XStructDepth1_Int64 struct {
	F25 int64
}

func (XStructDepth1_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Int64"`
}) {
}

type XStructDepth1_XInt64 struct {
	F26 XInt64
}

func (XStructDepth1_XInt64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XInt64"`
}) {
}

type XStructDepth1_Float32 struct {
	F27 float32
}

func (XStructDepth1_Float32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Float32"`
}) {
}

type XStructDepth1_XFloat32 struct {
	F28 XFloat32
}

func (XStructDepth1_XFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XFloat32"`
}) {
}

type XStructDepth1_Float64 struct {
	F29 float64
}

func (XStructDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_Float64"`
}) {
}

type XStructDepth1_XFloat64 struct {
	F30 XFloat64
}

func (XStructDepth1_XFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_XFloat64"`
}) {
}

type XStructDepth1_OptXStructEmpty struct {
	F31 *XStructEmpty
}

func (XStructDepth1_OptXStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_OptXStructEmpty"`
}) {
}

type XStructDepth1_OptXNamedError struct {
	F32 *XNamedError
}

func (XStructDepth1_OptXNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth1_OptXNamedError"`
}) {
}

type (
	// XUnionDepth1_All represents any single field of the XUnionDepth1_All union type.
	XUnionDepth1_All 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 XUnionDepth1_All union type.
		__VDLReflect(__XUnionDepth1_AllReflect)
	}
	// XUnionDepth1_AllF0 represents field F0 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF0 struct{ Value interface{} }
	// XUnionDepth1_AllF1 represents field F1 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF1 struct{ Value bool }
	// XUnionDepth1_AllF2 represents field F2 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF2 struct{ Value XBool }
	// XUnionDepth1_AllF3 represents field F3 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF3 struct{ Value string }
	// XUnionDepth1_AllF4 represents field F4 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF4 struct{ Value XString }
	// XUnionDepth1_AllF5 represents field F5 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF5 struct{ Value *vdl.Type }
	// XUnionDepth1_AllF6 represents field F6 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF6 struct{ Value byte }
	// XUnionDepth1_AllF7 represents field F7 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF7 struct{ Value XByte }
	// XUnionDepth1_AllF8 represents field F8 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF8 struct{ Value XEnumAbc }
	// XUnionDepth1_AllF9 represents field F9 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF9 struct{ Value XEnumBcd }
	// XUnionDepth1_AllF10 represents field F10 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF10 struct{ Value XStructEmpty }
	// XUnionDepth1_AllF11 represents field F11 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF11 struct{ Value XNamedError }
	// XUnionDepth1_AllF12 represents field F12 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF12 struct{ Value error }
	// XUnionDepth1_AllF13 represents field F13 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF13 struct{ Value uint16 }
	// XUnionDepth1_AllF14 represents field F14 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF14 struct{ Value XUint16 }
	// XUnionDepth1_AllF15 represents field F15 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF15 struct{ Value uint32 }
	// XUnionDepth1_AllF16 represents field F16 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF16 struct{ Value XUint32 }
	// XUnionDepth1_AllF17 represents field F17 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF17 struct{ Value uint64 }
	// XUnionDepth1_AllF18 represents field F18 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF18 struct{ Value XUint64 }
	// XUnionDepth1_AllF19 represents field F19 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF19 struct{ Value int8 }
	// XUnionDepth1_AllF20 represents field F20 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF20 struct{ Value XInt8 }
	// XUnionDepth1_AllF21 represents field F21 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF21 struct{ Value int16 }
	// XUnionDepth1_AllF22 represents field F22 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF22 struct{ Value XInt16 }
	// XUnionDepth1_AllF23 represents field F23 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF23 struct{ Value int32 }
	// XUnionDepth1_AllF24 represents field F24 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF24 struct{ Value XInt32 }
	// XUnionDepth1_AllF25 represents field F25 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF25 struct{ Value int64 }
	// XUnionDepth1_AllF26 represents field F26 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF26 struct{ Value XInt64 }
	// XUnionDepth1_AllF27 represents field F27 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF27 struct{ Value float32 }
	// XUnionDepth1_AllF28 represents field F28 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF28 struct{ Value XFloat32 }
	// XUnionDepth1_AllF29 represents field F29 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF29 struct{ Value float64 }
	// XUnionDepth1_AllF30 represents field F30 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF30 struct{ Value XFloat64 }
	// XUnionDepth1_AllF31 represents field F31 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF31 struct{ Value *XStructEmpty }
	// XUnionDepth1_AllF32 represents field F32 of the XUnionDepth1_All union type.
	XUnionDepth1_AllF32 struct{ Value *XNamedError }
	// __XUnionDepth1_AllReflect describes the XUnionDepth1_All union type.
	__XUnionDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_All"`
		Type  XUnionDepth1_All
		Union struct {
			F0  XUnionDepth1_AllF0
			F1  XUnionDepth1_AllF1
			F2  XUnionDepth1_AllF2
			F3  XUnionDepth1_AllF3
			F4  XUnionDepth1_AllF4
			F5  XUnionDepth1_AllF5
			F6  XUnionDepth1_AllF6
			F7  XUnionDepth1_AllF7
			F8  XUnionDepth1_AllF8
			F9  XUnionDepth1_AllF9
			F10 XUnionDepth1_AllF10
			F11 XUnionDepth1_AllF11
			F12 XUnionDepth1_AllF12
			F13 XUnionDepth1_AllF13
			F14 XUnionDepth1_AllF14
			F15 XUnionDepth1_AllF15
			F16 XUnionDepth1_AllF16
			F17 XUnionDepth1_AllF17
			F18 XUnionDepth1_AllF18
			F19 XUnionDepth1_AllF19
			F20 XUnionDepth1_AllF20
			F21 XUnionDepth1_AllF21
			F22 XUnionDepth1_AllF22
			F23 XUnionDepth1_AllF23
			F24 XUnionDepth1_AllF24
			F25 XUnionDepth1_AllF25
			F26 XUnionDepth1_AllF26
			F27 XUnionDepth1_AllF27
			F28 XUnionDepth1_AllF28
			F29 XUnionDepth1_AllF29
			F30 XUnionDepth1_AllF30
			F31 XUnionDepth1_AllF31
			F32 XUnionDepth1_AllF32
		}
	}
)

func (x XUnionDepth1_AllF0) Index() int                             { return 0 }
func (x XUnionDepth1_AllF0) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF0) Name() string                           { return "F0" }
func (x XUnionDepth1_AllF0) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF1) Index() int                             { return 1 }
func (x XUnionDepth1_AllF1) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF1) Name() string                           { return "F1" }
func (x XUnionDepth1_AllF1) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF2) Index() int                             { return 2 }
func (x XUnionDepth1_AllF2) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF2) Name() string                           { return "F2" }
func (x XUnionDepth1_AllF2) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF3) Index() int                             { return 3 }
func (x XUnionDepth1_AllF3) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF3) Name() string                           { return "F3" }
func (x XUnionDepth1_AllF3) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF4) Index() int                             { return 4 }
func (x XUnionDepth1_AllF4) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF4) Name() string                           { return "F4" }
func (x XUnionDepth1_AllF4) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF5) Index() int                             { return 5 }
func (x XUnionDepth1_AllF5) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF5) Name() string                           { return "F5" }
func (x XUnionDepth1_AllF5) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF6) Index() int                             { return 6 }
func (x XUnionDepth1_AllF6) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF6) Name() string                           { return "F6" }
func (x XUnionDepth1_AllF6) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF7) Index() int                             { return 7 }
func (x XUnionDepth1_AllF7) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF7) Name() string                           { return "F7" }
func (x XUnionDepth1_AllF7) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF8) Index() int                             { return 8 }
func (x XUnionDepth1_AllF8) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF8) Name() string                           { return "F8" }
func (x XUnionDepth1_AllF8) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF9) Index() int                             { return 9 }
func (x XUnionDepth1_AllF9) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF9) Name() string                           { return "F9" }
func (x XUnionDepth1_AllF9) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF10) Index() int                             { return 10 }
func (x XUnionDepth1_AllF10) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF10) Name() string                           { return "F10" }
func (x XUnionDepth1_AllF10) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF11) Index() int                             { return 11 }
func (x XUnionDepth1_AllF11) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF11) Name() string                           { return "F11" }
func (x XUnionDepth1_AllF11) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF12) Index() int                             { return 12 }
func (x XUnionDepth1_AllF12) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF12) Name() string                           { return "F12" }
func (x XUnionDepth1_AllF12) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF13) Index() int                             { return 13 }
func (x XUnionDepth1_AllF13) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF13) Name() string                           { return "F13" }
func (x XUnionDepth1_AllF13) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF14) Index() int                             { return 14 }
func (x XUnionDepth1_AllF14) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF14) Name() string                           { return "F14" }
func (x XUnionDepth1_AllF14) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF15) Index() int                             { return 15 }
func (x XUnionDepth1_AllF15) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF15) Name() string                           { return "F15" }
func (x XUnionDepth1_AllF15) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF16) Index() int                             { return 16 }
func (x XUnionDepth1_AllF16) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF16) Name() string                           { return "F16" }
func (x XUnionDepth1_AllF16) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF17) Index() int                             { return 17 }
func (x XUnionDepth1_AllF17) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF17) Name() string                           { return "F17" }
func (x XUnionDepth1_AllF17) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF18) Index() int                             { return 18 }
func (x XUnionDepth1_AllF18) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF18) Name() string                           { return "F18" }
func (x XUnionDepth1_AllF18) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF19) Index() int                             { return 19 }
func (x XUnionDepth1_AllF19) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF19) Name() string                           { return "F19" }
func (x XUnionDepth1_AllF19) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF20) Index() int                             { return 20 }
func (x XUnionDepth1_AllF20) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF20) Name() string                           { return "F20" }
func (x XUnionDepth1_AllF20) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF21) Index() int                             { return 21 }
func (x XUnionDepth1_AllF21) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF21) Name() string                           { return "F21" }
func (x XUnionDepth1_AllF21) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF22) Index() int                             { return 22 }
func (x XUnionDepth1_AllF22) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF22) Name() string                           { return "F22" }
func (x XUnionDepth1_AllF22) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF23) Index() int                             { return 23 }
func (x XUnionDepth1_AllF23) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF23) Name() string                           { return "F23" }
func (x XUnionDepth1_AllF23) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF24) Index() int                             { return 24 }
func (x XUnionDepth1_AllF24) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF24) Name() string                           { return "F24" }
func (x XUnionDepth1_AllF24) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF25) Index() int                             { return 25 }
func (x XUnionDepth1_AllF25) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF25) Name() string                           { return "F25" }
func (x XUnionDepth1_AllF25) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF26) Index() int                             { return 26 }
func (x XUnionDepth1_AllF26) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF26) Name() string                           { return "F26" }
func (x XUnionDepth1_AllF26) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF27) Index() int                             { return 27 }
func (x XUnionDepth1_AllF27) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF27) Name() string                           { return "F27" }
func (x XUnionDepth1_AllF27) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF28) Index() int                             { return 28 }
func (x XUnionDepth1_AllF28) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF28) Name() string                           { return "F28" }
func (x XUnionDepth1_AllF28) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF29) Index() int                             { return 29 }
func (x XUnionDepth1_AllF29) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF29) Name() string                           { return "F29" }
func (x XUnionDepth1_AllF29) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF30) Index() int                             { return 30 }
func (x XUnionDepth1_AllF30) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF30) Name() string                           { return "F30" }
func (x XUnionDepth1_AllF30) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF31) Index() int                             { return 31 }
func (x XUnionDepth1_AllF31) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF31) Name() string                           { return "F31" }
func (x XUnionDepth1_AllF31) __VDLReflect(__XUnionDepth1_AllReflect) {}

func (x XUnionDepth1_AllF32) Index() int                             { return 32 }
func (x XUnionDepth1_AllF32) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AllF32) Name() string                           { return "F32" }
func (x XUnionDepth1_AllF32) __VDLReflect(__XUnionDepth1_AllReflect) {}

type (
	// XUnionDepth1_Any represents any single field of the XUnionDepth1_Any union type.
	XUnionDepth1_Any 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 XUnionDepth1_Any union type.
		__VDLReflect(__XUnionDepth1_AnyReflect)
	}
	// XUnionDepth1_AnyF0 represents field F0 of the XUnionDepth1_Any union type.
	XUnionDepth1_AnyF0 struct{ Value interface{} }
	// __XUnionDepth1_AnyReflect describes the XUnionDepth1_Any union type.
	__XUnionDepth1_AnyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Any"`
		Type  XUnionDepth1_Any
		Union struct {
			F0 XUnionDepth1_AnyF0
		}
	}
)

func (x XUnionDepth1_AnyF0) Index() int                             { return 0 }
func (x XUnionDepth1_AnyF0) Interface() interface{}                 { return x.Value }
func (x XUnionDepth1_AnyF0) Name() string                           { return "F0" }
func (x XUnionDepth1_AnyF0) __VDLReflect(__XUnionDepth1_AnyReflect) {}

type (
	// XUnionDepth1_Bool represents any single field of the XUnionDepth1_Bool union type.
	XUnionDepth1_Bool 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 XUnionDepth1_Bool union type.
		__VDLReflect(__XUnionDepth1_BoolReflect)
	}
	// XUnionDepth1_BoolF1 represents field F1 of the XUnionDepth1_Bool union type.
	XUnionDepth1_BoolF1 struct{ Value bool }
	// __XUnionDepth1_BoolReflect describes the XUnionDepth1_Bool union type.
	__XUnionDepth1_BoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Bool"`
		Type  XUnionDepth1_Bool
		Union struct {
			F1 XUnionDepth1_BoolF1
		}
	}
)

func (x XUnionDepth1_BoolF1) Index() int                              { return 0 }
func (x XUnionDepth1_BoolF1) Interface() interface{}                  { return x.Value }
func (x XUnionDepth1_BoolF1) Name() string                            { return "F1" }
func (x XUnionDepth1_BoolF1) __VDLReflect(__XUnionDepth1_BoolReflect) {}

type (
	// XUnionDepth1_XBool represents any single field of the XUnionDepth1_XBool union type.
	XUnionDepth1_XBool 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 XUnionDepth1_XBool union type.
		__VDLReflect(__XUnionDepth1_XBoolReflect)
	}
	// XUnionDepth1_XBoolF2 represents field F2 of the XUnionDepth1_XBool union type.
	XUnionDepth1_XBoolF2 struct{ Value XBool }
	// __XUnionDepth1_XBoolReflect describes the XUnionDepth1_XBool union type.
	__XUnionDepth1_XBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XBool"`
		Type  XUnionDepth1_XBool
		Union struct {
			F2 XUnionDepth1_XBoolF2
		}
	}
)

func (x XUnionDepth1_XBoolF2) Index() int                               { return 0 }
func (x XUnionDepth1_XBoolF2) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_XBoolF2) Name() string                             { return "F2" }
func (x XUnionDepth1_XBoolF2) __VDLReflect(__XUnionDepth1_XBoolReflect) {}

type (
	// XUnionDepth1_String represents any single field of the XUnionDepth1_String union type.
	XUnionDepth1_String 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 XUnionDepth1_String union type.
		__VDLReflect(__XUnionDepth1_StringReflect)
	}
	// XUnionDepth1_StringF3 represents field F3 of the XUnionDepth1_String union type.
	XUnionDepth1_StringF3 struct{ Value string }
	// __XUnionDepth1_StringReflect describes the XUnionDepth1_String union type.
	__XUnionDepth1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_String"`
		Type  XUnionDepth1_String
		Union struct {
			F3 XUnionDepth1_StringF3
		}
	}
)

func (x XUnionDepth1_StringF3) Index() int                                { return 0 }
func (x XUnionDepth1_StringF3) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_StringF3) Name() string                              { return "F3" }
func (x XUnionDepth1_StringF3) __VDLReflect(__XUnionDepth1_StringReflect) {}

type (
	// XUnionDepth1_XString represents any single field of the XUnionDepth1_XString union type.
	XUnionDepth1_XString 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 XUnionDepth1_XString union type.
		__VDLReflect(__XUnionDepth1_XStringReflect)
	}
	// XUnionDepth1_XStringF4 represents field F4 of the XUnionDepth1_XString union type.
	XUnionDepth1_XStringF4 struct{ Value XString }
	// __XUnionDepth1_XStringReflect describes the XUnionDepth1_XString union type.
	__XUnionDepth1_XStringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XString"`
		Type  XUnionDepth1_XString
		Union struct {
			F4 XUnionDepth1_XStringF4
		}
	}
)

func (x XUnionDepth1_XStringF4) Index() int                                 { return 0 }
func (x XUnionDepth1_XStringF4) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_XStringF4) Name() string                               { return "F4" }
func (x XUnionDepth1_XStringF4) __VDLReflect(__XUnionDepth1_XStringReflect) {}

type (
	// XUnionDepth1_TypeObject represents any single field of the XUnionDepth1_TypeObject union type.
	XUnionDepth1_TypeObject 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 XUnionDepth1_TypeObject union type.
		__VDLReflect(__XUnionDepth1_TypeObjectReflect)
	}
	// XUnionDepth1_TypeObjectF5 represents field F5 of the XUnionDepth1_TypeObject union type.
	XUnionDepth1_TypeObjectF5 struct{ Value *vdl.Type }
	// __XUnionDepth1_TypeObjectReflect describes the XUnionDepth1_TypeObject union type.
	__XUnionDepth1_TypeObjectReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_TypeObject"`
		Type  XUnionDepth1_TypeObject
		Union struct {
			F5 XUnionDepth1_TypeObjectF5
		}
	}
)

func (x XUnionDepth1_TypeObjectF5) Index() int                                    { return 0 }
func (x XUnionDepth1_TypeObjectF5) Interface() interface{}                        { return x.Value }
func (x XUnionDepth1_TypeObjectF5) Name() string                                  { return "F5" }
func (x XUnionDepth1_TypeObjectF5) __VDLReflect(__XUnionDepth1_TypeObjectReflect) {}

type (
	// XUnionDepth1_Byte represents any single field of the XUnionDepth1_Byte union type.
	XUnionDepth1_Byte 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 XUnionDepth1_Byte union type.
		__VDLReflect(__XUnionDepth1_ByteReflect)
	}
	// XUnionDepth1_ByteF6 represents field F6 of the XUnionDepth1_Byte union type.
	XUnionDepth1_ByteF6 struct{ Value byte }
	// __XUnionDepth1_ByteReflect describes the XUnionDepth1_Byte union type.
	__XUnionDepth1_ByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Byte"`
		Type  XUnionDepth1_Byte
		Union struct {
			F6 XUnionDepth1_ByteF6
		}
	}
)

func (x XUnionDepth1_ByteF6) Index() int                              { return 0 }
func (x XUnionDepth1_ByteF6) Interface() interface{}                  { return x.Value }
func (x XUnionDepth1_ByteF6) Name() string                            { return "F6" }
func (x XUnionDepth1_ByteF6) __VDLReflect(__XUnionDepth1_ByteReflect) {}

type (
	// XUnionDepth1_XByte represents any single field of the XUnionDepth1_XByte union type.
	XUnionDepth1_XByte 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 XUnionDepth1_XByte union type.
		__VDLReflect(__XUnionDepth1_XByteReflect)
	}
	// XUnionDepth1_XByteF7 represents field F7 of the XUnionDepth1_XByte union type.
	XUnionDepth1_XByteF7 struct{ Value XByte }
	// __XUnionDepth1_XByteReflect describes the XUnionDepth1_XByte union type.
	__XUnionDepth1_XByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XByte"`
		Type  XUnionDepth1_XByte
		Union struct {
			F7 XUnionDepth1_XByteF7
		}
	}
)

func (x XUnionDepth1_XByteF7) Index() int                               { return 0 }
func (x XUnionDepth1_XByteF7) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_XByteF7) Name() string                             { return "F7" }
func (x XUnionDepth1_XByteF7) __VDLReflect(__XUnionDepth1_XByteReflect) {}

type (
	// XUnionDepth1_XEnumAbc represents any single field of the XUnionDepth1_XEnumAbc union type.
	XUnionDepth1_XEnumAbc 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 XUnionDepth1_XEnumAbc union type.
		__VDLReflect(__XUnionDepth1_XEnumAbcReflect)
	}
	// XUnionDepth1_XEnumAbcF8 represents field F8 of the XUnionDepth1_XEnumAbc union type.
	XUnionDepth1_XEnumAbcF8 struct{ Value XEnumAbc }
	// __XUnionDepth1_XEnumAbcReflect describes the XUnionDepth1_XEnumAbc union type.
	__XUnionDepth1_XEnumAbcReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XEnumAbc"`
		Type  XUnionDepth1_XEnumAbc
		Union struct {
			F8 XUnionDepth1_XEnumAbcF8
		}
	}
)

func (x XUnionDepth1_XEnumAbcF8) Index() int                                  { return 0 }
func (x XUnionDepth1_XEnumAbcF8) Interface() interface{}                      { return x.Value }
func (x XUnionDepth1_XEnumAbcF8) Name() string                                { return "F8" }
func (x XUnionDepth1_XEnumAbcF8) __VDLReflect(__XUnionDepth1_XEnumAbcReflect) {}

type (
	// XUnionDepth1_XEnumBcd represents any single field of the XUnionDepth1_XEnumBcd union type.
	XUnionDepth1_XEnumBcd 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 XUnionDepth1_XEnumBcd union type.
		__VDLReflect(__XUnionDepth1_XEnumBcdReflect)
	}
	// XUnionDepth1_XEnumBcdF9 represents field F9 of the XUnionDepth1_XEnumBcd union type.
	XUnionDepth1_XEnumBcdF9 struct{ Value XEnumBcd }
	// __XUnionDepth1_XEnumBcdReflect describes the XUnionDepth1_XEnumBcd union type.
	__XUnionDepth1_XEnumBcdReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XEnumBcd"`
		Type  XUnionDepth1_XEnumBcd
		Union struct {
			F9 XUnionDepth1_XEnumBcdF9
		}
	}
)

func (x XUnionDepth1_XEnumBcdF9) Index() int                                  { return 0 }
func (x XUnionDepth1_XEnumBcdF9) Interface() interface{}                      { return x.Value }
func (x XUnionDepth1_XEnumBcdF9) Name() string                                { return "F9" }
func (x XUnionDepth1_XEnumBcdF9) __VDLReflect(__XUnionDepth1_XEnumBcdReflect) {}

type (
	// XUnionDepth1_XStructEmpty represents any single field of the XUnionDepth1_XStructEmpty union type.
	XUnionDepth1_XStructEmpty 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 XUnionDepth1_XStructEmpty union type.
		__VDLReflect(__XUnionDepth1_XStructEmptyReflect)
	}
	// XUnionDepth1_XStructEmptyF10 represents field F10 of the XUnionDepth1_XStructEmpty union type.
	XUnionDepth1_XStructEmptyF10 struct{ Value XStructEmpty }
	// __XUnionDepth1_XStructEmptyReflect describes the XUnionDepth1_XStructEmpty union type.
	__XUnionDepth1_XStructEmptyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XStructEmpty"`
		Type  XUnionDepth1_XStructEmpty
		Union struct {
			F10 XUnionDepth1_XStructEmptyF10
		}
	}
)

func (x XUnionDepth1_XStructEmptyF10) Index() int                                      { return 0 }
func (x XUnionDepth1_XStructEmptyF10) Interface() interface{}                          { return x.Value }
func (x XUnionDepth1_XStructEmptyF10) Name() string                                    { return "F10" }
func (x XUnionDepth1_XStructEmptyF10) __VDLReflect(__XUnionDepth1_XStructEmptyReflect) {}

type (
	// XUnionDepth1_XNamedError represents any single field of the XUnionDepth1_XNamedError union type.
	XUnionDepth1_XNamedError 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 XUnionDepth1_XNamedError union type.
		__VDLReflect(__XUnionDepth1_XNamedErrorReflect)
	}
	// XUnionDepth1_XNamedErrorF11 represents field F11 of the XUnionDepth1_XNamedError union type.
	XUnionDepth1_XNamedErrorF11 struct{ Value XNamedError }
	// __XUnionDepth1_XNamedErrorReflect describes the XUnionDepth1_XNamedError union type.
	__XUnionDepth1_XNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XNamedError"`
		Type  XUnionDepth1_XNamedError
		Union struct {
			F11 XUnionDepth1_XNamedErrorF11
		}
	}
)

func (x XUnionDepth1_XNamedErrorF11) Index() int                                     { return 0 }
func (x XUnionDepth1_XNamedErrorF11) Interface() interface{}                         { return x.Value }
func (x XUnionDepth1_XNamedErrorF11) Name() string                                   { return "F11" }
func (x XUnionDepth1_XNamedErrorF11) __VDLReflect(__XUnionDepth1_XNamedErrorReflect) {}

type (
	// XUnionDepth1_Error represents any single field of the XUnionDepth1_Error union type.
	XUnionDepth1_Error 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 XUnionDepth1_Error union type.
		__VDLReflect(__XUnionDepth1_ErrorReflect)
	}
	// XUnionDepth1_ErrorF12 represents field F12 of the XUnionDepth1_Error union type.
	XUnionDepth1_ErrorF12 struct{ Value error }
	// __XUnionDepth1_ErrorReflect describes the XUnionDepth1_Error union type.
	__XUnionDepth1_ErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Error"`
		Type  XUnionDepth1_Error
		Union struct {
			F12 XUnionDepth1_ErrorF12
		}
	}
)

func (x XUnionDepth1_ErrorF12) Index() int                               { return 0 }
func (x XUnionDepth1_ErrorF12) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_ErrorF12) Name() string                             { return "F12" }
func (x XUnionDepth1_ErrorF12) __VDLReflect(__XUnionDepth1_ErrorReflect) {}

type (
	// XUnionDepth1_Uint16 represents any single field of the XUnionDepth1_Uint16 union type.
	XUnionDepth1_Uint16 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 XUnionDepth1_Uint16 union type.
		__VDLReflect(__XUnionDepth1_Uint16Reflect)
	}
	// XUnionDepth1_Uint16F13 represents field F13 of the XUnionDepth1_Uint16 union type.
	XUnionDepth1_Uint16F13 struct{ Value uint16 }
	// __XUnionDepth1_Uint16Reflect describes the XUnionDepth1_Uint16 union type.
	__XUnionDepth1_Uint16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Uint16"`
		Type  XUnionDepth1_Uint16
		Union struct {
			F13 XUnionDepth1_Uint16F13
		}
	}
)

func (x XUnionDepth1_Uint16F13) Index() int                                { return 0 }
func (x XUnionDepth1_Uint16F13) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_Uint16F13) Name() string                              { return "F13" }
func (x XUnionDepth1_Uint16F13) __VDLReflect(__XUnionDepth1_Uint16Reflect) {}

type (
	// XUnionDepth1_XUint16 represents any single field of the XUnionDepth1_XUint16 union type.
	XUnionDepth1_XUint16 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 XUnionDepth1_XUint16 union type.
		__VDLReflect(__XUnionDepth1_XUint16Reflect)
	}
	// XUnionDepth1_XUint16F14 represents field F14 of the XUnionDepth1_XUint16 union type.
	XUnionDepth1_XUint16F14 struct{ Value XUint16 }
	// __XUnionDepth1_XUint16Reflect describes the XUnionDepth1_XUint16 union type.
	__XUnionDepth1_XUint16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XUint16"`
		Type  XUnionDepth1_XUint16
		Union struct {
			F14 XUnionDepth1_XUint16F14
		}
	}
)

func (x XUnionDepth1_XUint16F14) Index() int                                 { return 0 }
func (x XUnionDepth1_XUint16F14) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_XUint16F14) Name() string                               { return "F14" }
func (x XUnionDepth1_XUint16F14) __VDLReflect(__XUnionDepth1_XUint16Reflect) {}

type (
	// XUnionDepth1_Uint32 represents any single field of the XUnionDepth1_Uint32 union type.
	XUnionDepth1_Uint32 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 XUnionDepth1_Uint32 union type.
		__VDLReflect(__XUnionDepth1_Uint32Reflect)
	}
	// XUnionDepth1_Uint32F15 represents field F15 of the XUnionDepth1_Uint32 union type.
	XUnionDepth1_Uint32F15 struct{ Value uint32 }
	// __XUnionDepth1_Uint32Reflect describes the XUnionDepth1_Uint32 union type.
	__XUnionDepth1_Uint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Uint32"`
		Type  XUnionDepth1_Uint32
		Union struct {
			F15 XUnionDepth1_Uint32F15
		}
	}
)

func (x XUnionDepth1_Uint32F15) Index() int                                { return 0 }
func (x XUnionDepth1_Uint32F15) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_Uint32F15) Name() string                              { return "F15" }
func (x XUnionDepth1_Uint32F15) __VDLReflect(__XUnionDepth1_Uint32Reflect) {}

type (
	// XUnionDepth1_XUint32 represents any single field of the XUnionDepth1_XUint32 union type.
	XUnionDepth1_XUint32 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 XUnionDepth1_XUint32 union type.
		__VDLReflect(__XUnionDepth1_XUint32Reflect)
	}
	// XUnionDepth1_XUint32F16 represents field F16 of the XUnionDepth1_XUint32 union type.
	XUnionDepth1_XUint32F16 struct{ Value XUint32 }
	// __XUnionDepth1_XUint32Reflect describes the XUnionDepth1_XUint32 union type.
	__XUnionDepth1_XUint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XUint32"`
		Type  XUnionDepth1_XUint32
		Union struct {
			F16 XUnionDepth1_XUint32F16
		}
	}
)

func (x XUnionDepth1_XUint32F16) Index() int                                 { return 0 }
func (x XUnionDepth1_XUint32F16) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_XUint32F16) Name() string                               { return "F16" }
func (x XUnionDepth1_XUint32F16) __VDLReflect(__XUnionDepth1_XUint32Reflect) {}

type (
	// XUnionDepth1_Uint64 represents any single field of the XUnionDepth1_Uint64 union type.
	XUnionDepth1_Uint64 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 XUnionDepth1_Uint64 union type.
		__VDLReflect(__XUnionDepth1_Uint64Reflect)
	}
	// XUnionDepth1_Uint64F17 represents field F17 of the XUnionDepth1_Uint64 union type.
	XUnionDepth1_Uint64F17 struct{ Value uint64 }
	// __XUnionDepth1_Uint64Reflect describes the XUnionDepth1_Uint64 union type.
	__XUnionDepth1_Uint64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Uint64"`
		Type  XUnionDepth1_Uint64
		Union struct {
			F17 XUnionDepth1_Uint64F17
		}
	}
)

func (x XUnionDepth1_Uint64F17) Index() int                                { return 0 }
func (x XUnionDepth1_Uint64F17) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_Uint64F17) Name() string                              { return "F17" }
func (x XUnionDepth1_Uint64F17) __VDLReflect(__XUnionDepth1_Uint64Reflect) {}

type (
	// XUnionDepth1_XUint64 represents any single field of the XUnionDepth1_XUint64 union type.
	XUnionDepth1_XUint64 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 XUnionDepth1_XUint64 union type.
		__VDLReflect(__XUnionDepth1_XUint64Reflect)
	}
	// XUnionDepth1_XUint64F18 represents field F18 of the XUnionDepth1_XUint64 union type.
	XUnionDepth1_XUint64F18 struct{ Value XUint64 }
	// __XUnionDepth1_XUint64Reflect describes the XUnionDepth1_XUint64 union type.
	__XUnionDepth1_XUint64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XUint64"`
		Type  XUnionDepth1_XUint64
		Union struct {
			F18 XUnionDepth1_XUint64F18
		}
	}
)

func (x XUnionDepth1_XUint64F18) Index() int                                 { return 0 }
func (x XUnionDepth1_XUint64F18) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_XUint64F18) Name() string                               { return "F18" }
func (x XUnionDepth1_XUint64F18) __VDLReflect(__XUnionDepth1_XUint64Reflect) {}

type (
	// XUnionDepth1_Int8 represents any single field of the XUnionDepth1_Int8 union type.
	XUnionDepth1_Int8 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 XUnionDepth1_Int8 union type.
		__VDLReflect(__XUnionDepth1_Int8Reflect)
	}
	// XUnionDepth1_Int8F19 represents field F19 of the XUnionDepth1_Int8 union type.
	XUnionDepth1_Int8F19 struct{ Value int8 }
	// __XUnionDepth1_Int8Reflect describes the XUnionDepth1_Int8 union type.
	__XUnionDepth1_Int8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Int8"`
		Type  XUnionDepth1_Int8
		Union struct {
			F19 XUnionDepth1_Int8F19
		}
	}
)

func (x XUnionDepth1_Int8F19) Index() int                              { return 0 }
func (x XUnionDepth1_Int8F19) Interface() interface{}                  { return x.Value }
func (x XUnionDepth1_Int8F19) Name() string                            { return "F19" }
func (x XUnionDepth1_Int8F19) __VDLReflect(__XUnionDepth1_Int8Reflect) {}

type (
	// XUnionDepth1_XInt8 represents any single field of the XUnionDepth1_XInt8 union type.
	XUnionDepth1_XInt8 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 XUnionDepth1_XInt8 union type.
		__VDLReflect(__XUnionDepth1_XInt8Reflect)
	}
	// XUnionDepth1_XInt8F20 represents field F20 of the XUnionDepth1_XInt8 union type.
	XUnionDepth1_XInt8F20 struct{ Value XInt8 }
	// __XUnionDepth1_XInt8Reflect describes the XUnionDepth1_XInt8 union type.
	__XUnionDepth1_XInt8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XInt8"`
		Type  XUnionDepth1_XInt8
		Union struct {
			F20 XUnionDepth1_XInt8F20
		}
	}
)

func (x XUnionDepth1_XInt8F20) Index() int                               { return 0 }
func (x XUnionDepth1_XInt8F20) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_XInt8F20) Name() string                             { return "F20" }
func (x XUnionDepth1_XInt8F20) __VDLReflect(__XUnionDepth1_XInt8Reflect) {}

type (
	// XUnionDepth1_Int16 represents any single field of the XUnionDepth1_Int16 union type.
	XUnionDepth1_Int16 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 XUnionDepth1_Int16 union type.
		__VDLReflect(__XUnionDepth1_Int16Reflect)
	}
	// XUnionDepth1_Int16F21 represents field F21 of the XUnionDepth1_Int16 union type.
	XUnionDepth1_Int16F21 struct{ Value int16 }
	// __XUnionDepth1_Int16Reflect describes the XUnionDepth1_Int16 union type.
	__XUnionDepth1_Int16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Int16"`
		Type  XUnionDepth1_Int16
		Union struct {
			F21 XUnionDepth1_Int16F21
		}
	}
)

func (x XUnionDepth1_Int16F21) Index() int                               { return 0 }
func (x XUnionDepth1_Int16F21) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_Int16F21) Name() string                             { return "F21" }
func (x XUnionDepth1_Int16F21) __VDLReflect(__XUnionDepth1_Int16Reflect) {}

type (
	// XUnionDepth1_XInt16 represents any single field of the XUnionDepth1_XInt16 union type.
	XUnionDepth1_XInt16 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 XUnionDepth1_XInt16 union type.
		__VDLReflect(__XUnionDepth1_XInt16Reflect)
	}
	// XUnionDepth1_XInt16F22 represents field F22 of the XUnionDepth1_XInt16 union type.
	XUnionDepth1_XInt16F22 struct{ Value XInt16 }
	// __XUnionDepth1_XInt16Reflect describes the XUnionDepth1_XInt16 union type.
	__XUnionDepth1_XInt16Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XInt16"`
		Type  XUnionDepth1_XInt16
		Union struct {
			F22 XUnionDepth1_XInt16F22
		}
	}
)

func (x XUnionDepth1_XInt16F22) Index() int                                { return 0 }
func (x XUnionDepth1_XInt16F22) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_XInt16F22) Name() string                              { return "F22" }
func (x XUnionDepth1_XInt16F22) __VDLReflect(__XUnionDepth1_XInt16Reflect) {}

type (
	// XUnionDepth1_Int32 represents any single field of the XUnionDepth1_Int32 union type.
	XUnionDepth1_Int32 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 XUnionDepth1_Int32 union type.
		__VDLReflect(__XUnionDepth1_Int32Reflect)
	}
	// XUnionDepth1_Int32F23 represents field F23 of the XUnionDepth1_Int32 union type.
	XUnionDepth1_Int32F23 struct{ Value int32 }
	// __XUnionDepth1_Int32Reflect describes the XUnionDepth1_Int32 union type.
	__XUnionDepth1_Int32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Int32"`
		Type  XUnionDepth1_Int32
		Union struct {
			F23 XUnionDepth1_Int32F23
		}
	}
)

func (x XUnionDepth1_Int32F23) Index() int                               { return 0 }
func (x XUnionDepth1_Int32F23) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_Int32F23) Name() string                             { return "F23" }
func (x XUnionDepth1_Int32F23) __VDLReflect(__XUnionDepth1_Int32Reflect) {}

type (
	// XUnionDepth1_XInt32 represents any single field of the XUnionDepth1_XInt32 union type.
	XUnionDepth1_XInt32 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 XUnionDepth1_XInt32 union type.
		__VDLReflect(__XUnionDepth1_XInt32Reflect)
	}
	// XUnionDepth1_XInt32F24 represents field F24 of the XUnionDepth1_XInt32 union type.
	XUnionDepth1_XInt32F24 struct{ Value XInt32 }
	// __XUnionDepth1_XInt32Reflect describes the XUnionDepth1_XInt32 union type.
	__XUnionDepth1_XInt32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XInt32"`
		Type  XUnionDepth1_XInt32
		Union struct {
			F24 XUnionDepth1_XInt32F24
		}
	}
)

func (x XUnionDepth1_XInt32F24) Index() int                                { return 0 }
func (x XUnionDepth1_XInt32F24) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_XInt32F24) Name() string                              { return "F24" }
func (x XUnionDepth1_XInt32F24) __VDLReflect(__XUnionDepth1_XInt32Reflect) {}

type (
	// XUnionDepth1_Int64 represents any single field of the XUnionDepth1_Int64 union type.
	XUnionDepth1_Int64 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 XUnionDepth1_Int64 union type.
		__VDLReflect(__XUnionDepth1_Int64Reflect)
	}
	// XUnionDepth1_Int64F25 represents field F25 of the XUnionDepth1_Int64 union type.
	XUnionDepth1_Int64F25 struct{ Value int64 }
	// __XUnionDepth1_Int64Reflect describes the XUnionDepth1_Int64 union type.
	__XUnionDepth1_Int64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Int64"`
		Type  XUnionDepth1_Int64
		Union struct {
			F25 XUnionDepth1_Int64F25
		}
	}
)

func (x XUnionDepth1_Int64F25) Index() int                               { return 0 }
func (x XUnionDepth1_Int64F25) Interface() interface{}                   { return x.Value }
func (x XUnionDepth1_Int64F25) Name() string                             { return "F25" }
func (x XUnionDepth1_Int64F25) __VDLReflect(__XUnionDepth1_Int64Reflect) {}

type (
	// XUnionDepth1_XInt64 represents any single field of the XUnionDepth1_XInt64 union type.
	XUnionDepth1_XInt64 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 XUnionDepth1_XInt64 union type.
		__VDLReflect(__XUnionDepth1_XInt64Reflect)
	}
	// XUnionDepth1_XInt64F26 represents field F26 of the XUnionDepth1_XInt64 union type.
	XUnionDepth1_XInt64F26 struct{ Value XInt64 }
	// __XUnionDepth1_XInt64Reflect describes the XUnionDepth1_XInt64 union type.
	__XUnionDepth1_XInt64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XInt64"`
		Type  XUnionDepth1_XInt64
		Union struct {
			F26 XUnionDepth1_XInt64F26
		}
	}
)

func (x XUnionDepth1_XInt64F26) Index() int                                { return 0 }
func (x XUnionDepth1_XInt64F26) Interface() interface{}                    { return x.Value }
func (x XUnionDepth1_XInt64F26) Name() string                              { return "F26" }
func (x XUnionDepth1_XInt64F26) __VDLReflect(__XUnionDepth1_XInt64Reflect) {}

type (
	// XUnionDepth1_Float32 represents any single field of the XUnionDepth1_Float32 union type.
	XUnionDepth1_Float32 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 XUnionDepth1_Float32 union type.
		__VDLReflect(__XUnionDepth1_Float32Reflect)
	}
	// XUnionDepth1_Float32F27 represents field F27 of the XUnionDepth1_Float32 union type.
	XUnionDepth1_Float32F27 struct{ Value float32 }
	// __XUnionDepth1_Float32Reflect describes the XUnionDepth1_Float32 union type.
	__XUnionDepth1_Float32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Float32"`
		Type  XUnionDepth1_Float32
		Union struct {
			F27 XUnionDepth1_Float32F27
		}
	}
)

func (x XUnionDepth1_Float32F27) Index() int                                 { return 0 }
func (x XUnionDepth1_Float32F27) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_Float32F27) Name() string                               { return "F27" }
func (x XUnionDepth1_Float32F27) __VDLReflect(__XUnionDepth1_Float32Reflect) {}

type (
	// XUnionDepth1_XFloat32 represents any single field of the XUnionDepth1_XFloat32 union type.
	XUnionDepth1_XFloat32 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 XUnionDepth1_XFloat32 union type.
		__VDLReflect(__XUnionDepth1_XFloat32Reflect)
	}
	// XUnionDepth1_XFloat32F28 represents field F28 of the XUnionDepth1_XFloat32 union type.
	XUnionDepth1_XFloat32F28 struct{ Value XFloat32 }
	// __XUnionDepth1_XFloat32Reflect describes the XUnionDepth1_XFloat32 union type.
	__XUnionDepth1_XFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XFloat32"`
		Type  XUnionDepth1_XFloat32
		Union struct {
			F28 XUnionDepth1_XFloat32F28
		}
	}
)

func (x XUnionDepth1_XFloat32F28) Index() int                                  { return 0 }
func (x XUnionDepth1_XFloat32F28) Interface() interface{}                      { return x.Value }
func (x XUnionDepth1_XFloat32F28) Name() string                                { return "F28" }
func (x XUnionDepth1_XFloat32F28) __VDLReflect(__XUnionDepth1_XFloat32Reflect) {}

type (
	// XUnionDepth1_Float64 represents any single field of the XUnionDepth1_Float64 union type.
	XUnionDepth1_Float64 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 XUnionDepth1_Float64 union type.
		__VDLReflect(__XUnionDepth1_Float64Reflect)
	}
	// XUnionDepth1_Float64F29 represents field F29 of the XUnionDepth1_Float64 union type.
	XUnionDepth1_Float64F29 struct{ Value float64 }
	// __XUnionDepth1_Float64Reflect describes the XUnionDepth1_Float64 union type.
	__XUnionDepth1_Float64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_Float64"`
		Type  XUnionDepth1_Float64
		Union struct {
			F29 XUnionDepth1_Float64F29
		}
	}
)

func (x XUnionDepth1_Float64F29) Index() int                                 { return 0 }
func (x XUnionDepth1_Float64F29) Interface() interface{}                     { return x.Value }
func (x XUnionDepth1_Float64F29) Name() string                               { return "F29" }
func (x XUnionDepth1_Float64F29) __VDLReflect(__XUnionDepth1_Float64Reflect) {}

type (
	// XUnionDepth1_XFloat64 represents any single field of the XUnionDepth1_XFloat64 union type.
	XUnionDepth1_XFloat64 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 XUnionDepth1_XFloat64 union type.
		__VDLReflect(__XUnionDepth1_XFloat64Reflect)
	}
	// XUnionDepth1_XFloat64F30 represents field F30 of the XUnionDepth1_XFloat64 union type.
	XUnionDepth1_XFloat64F30 struct{ Value XFloat64 }
	// __XUnionDepth1_XFloat64Reflect describes the XUnionDepth1_XFloat64 union type.
	__XUnionDepth1_XFloat64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_XFloat64"`
		Type  XUnionDepth1_XFloat64
		Union struct {
			F30 XUnionDepth1_XFloat64F30
		}
	}
)

func (x XUnionDepth1_XFloat64F30) Index() int                                  { return 0 }
func (x XUnionDepth1_XFloat64F30) Interface() interface{}                      { return x.Value }
func (x XUnionDepth1_XFloat64F30) Name() string                                { return "F30" }
func (x XUnionDepth1_XFloat64F30) __VDLReflect(__XUnionDepth1_XFloat64Reflect) {}

type (
	// XUnionDepth1_OptXStructEmpty represents any single field of the XUnionDepth1_OptXStructEmpty union type.
	XUnionDepth1_OptXStructEmpty 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 XUnionDepth1_OptXStructEmpty union type.
		__VDLReflect(__XUnionDepth1_OptXStructEmptyReflect)
	}
	// XUnionDepth1_OptXStructEmptyF31 represents field F31 of the XUnionDepth1_OptXStructEmpty union type.
	XUnionDepth1_OptXStructEmptyF31 struct{ Value *XStructEmpty }
	// __XUnionDepth1_OptXStructEmptyReflect describes the XUnionDepth1_OptXStructEmpty union type.
	__XUnionDepth1_OptXStructEmptyReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_OptXStructEmpty"`
		Type  XUnionDepth1_OptXStructEmpty
		Union struct {
			F31 XUnionDepth1_OptXStructEmptyF31
		}
	}
)

func (x XUnionDepth1_OptXStructEmptyF31) Index() int                                         { return 0 }
func (x XUnionDepth1_OptXStructEmptyF31) Interface() interface{}                             { return x.Value }
func (x XUnionDepth1_OptXStructEmptyF31) Name() string                                       { return "F31" }
func (x XUnionDepth1_OptXStructEmptyF31) __VDLReflect(__XUnionDepth1_OptXStructEmptyReflect) {}

type (
	// XUnionDepth1_OptXNamedError represents any single field of the XUnionDepth1_OptXNamedError union type.
	XUnionDepth1_OptXNamedError 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 XUnionDepth1_OptXNamedError union type.
		__VDLReflect(__XUnionDepth1_OptXNamedErrorReflect)
	}
	// XUnionDepth1_OptXNamedErrorF32 represents field F32 of the XUnionDepth1_OptXNamedError union type.
	XUnionDepth1_OptXNamedErrorF32 struct{ Value *XNamedError }
	// __XUnionDepth1_OptXNamedErrorReflect describes the XUnionDepth1_OptXNamedError union type.
	__XUnionDepth1_OptXNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth1_OptXNamedError"`
		Type  XUnionDepth1_OptXNamedError
		Union struct {
			F32 XUnionDepth1_OptXNamedErrorF32
		}
	}
)

func (x XUnionDepth1_OptXNamedErrorF32) Index() int                                        { return 0 }
func (x XUnionDepth1_OptXNamedErrorF32) Interface() interface{}                            { return x.Value }
func (x XUnionDepth1_OptXNamedErrorF32) Name() string                                      { return "F32" }
func (x XUnionDepth1_OptXNamedErrorF32) __VDLReflect(__XUnionDepth1_OptXNamedErrorReflect) {}

type XArray1_XArray3_Int64 [1]XArray3_Int64

func (XArray1_XArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_XArray3_Int64"`
}) {
}

type XArray1_XList_Byte [1]XList_Byte

func (XArray1_XList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_XList_Byte"`
}) {
}

type XArray1_Set_XEnumBcd [1]map[XEnumBcd]struct{}

func (XArray1_Set_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_Set_XEnumBcd"`
}) {
}

type XArray2_Map_Byte_Byte [2]map[byte]byte

func (XArray2_Map_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_Map_Byte_Byte"`
}) {
}

type XArray2_XStructDepth1_All [2]XStructDepth1_All

func (XArray2_XStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XStructDepth1_All"`
}) {
}

type XArray3_XUnionDepth1_All [3]XUnionDepth1_All

func (XArray3_XUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_XUnionDepth1_All"`
}) {
}

type XArray3_OptXStructDepth1_XFloat32 [3]*XStructDepth1_XFloat32

func (XArray3_OptXStructDepth1_XFloat32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_OptXStructDepth1_XFloat32"`
}) {
}

type XList_XArray1_XStructEmpty []XArray1_XStructEmpty

func (XList_XArray1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XArray1_XStructEmpty"`
}) {
}

type XList_List_XString [][]XString

func (XList_List_XString) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_List_XString"`
}) {
}

type XList_Set_XBool []map[XBool]struct{}

func (XList_Set_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_Set_XBool"`
}) {
}

type XList_XMap_Byte_Byte []XMap_Byte_Byte

func (XList_XMap_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XMap_Byte_Byte"`
}) {
}

type XList_XStructDepth1_All []XStructDepth1_All

func (XList_XStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XStructDepth1_All"`
}) {
}

type XList_XUnionDepth1_All []XUnionDepth1_All

func (XList_XUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XUnionDepth1_All"`
}) {
}

type XList_OptXStructDepth1_XEnumBcd []*XStructDepth1_XEnumBcd

func (XList_OptXStructDepth1_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_OptXStructDepth1_XEnumBcd"`
}) {
}

type XSet_XArray1_XStructEmpty map[XArray1_XStructEmpty]struct{}

func (XSet_XArray1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XArray1_XStructEmpty"`
}) {
}

type XSet_XStructDepth1_XFloat64 map[XStructDepth1_XFloat64]struct{}

func (XSet_XStructDepth1_XFloat64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XStructDepth1_XFloat64"`
}) {
}

type XSet_XUnionDepth1_XInt8 map[XUnionDepth1_XInt8]struct{}

func (XSet_XUnionDepth1_XInt8) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XUnionDepth1_XInt8"`
}) {
}

type XMap_XArray3_XBool_XArray3_XBool map[XArray3_XBool]XArray3_XBool

func (XMap_XArray3_XBool_XArray3_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XArray3_XBool_XArray3_XBool"`
}) {
}

type XMap_XStructDepth1_XBool_XStructDepth1_XBool map[XStructDepth1_XBool]XStructDepth1_XBool

func (XMap_XStructDepth1_XBool_XStructDepth1_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XStructDepth1_XBool_XStructDepth1_XBool"`
}) {
}

type XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64 map[XUnionDepth1_XUint64]XUnionDepth1_XUint64

func (XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64"`
}) {
}

type XStructDepth2_All struct {
	F0  XArray2_TypeObject
	F1  XArray1_Uint32
	F2  []int16
	F3  XList_Any
	F4  map[float64]struct{}
	F5  XSet_XEnumBcd
	F6  map[byte]byte
	F7  map[uint32]uint32
	F8  XStructDepth1_All
	F9  XStructDepth1_Bool
	F10 XUnionDepth1_All
	F11 XUnionDepth1_Float64
	F12 *XStructDepth1_XEnumBcd
	F13 *XStructDepth1_XUint16
}

func (XStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_All"`
}) {
}

type XStructDepth2_XArray2_TypeObject struct {
	F0 XArray2_TypeObject
}

func (XStructDepth2_XArray2_TypeObject) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XArray2_TypeObject"`
}) {
}

type XStructDepth2_XArray1_Uint32 struct {
	F1 XArray1_Uint32
}

func (XStructDepth2_XArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XArray1_Uint32"`
}) {
}

type XStructDepth2_List_Int16 struct {
	F2 []int16
}

func (XStructDepth2_List_Int16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_List_Int16"`
}) {
}

type XStructDepth2_XList_Any struct {
	F3 XList_Any
}

func (XStructDepth2_XList_Any) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XList_Any"`
}) {
}

type XStructDepth2_Set_Float64 struct {
	F4 map[float64]struct{}
}

func (XStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_Set_Float64"`
}) {
}

type XStructDepth2_XSet_XEnumBcd struct {
	F5 XSet_XEnumBcd
}

func (XStructDepth2_XSet_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XSet_XEnumBcd"`
}) {
}

type XStructDepth2_Map_Byte_Byte struct {
	F6 map[byte]byte
}

func (XStructDepth2_Map_Byte_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_Map_Byte_Byte"`
}) {
}

type XStructDepth2_Map_Uint32_Uint32 struct {
	F7 map[uint32]uint32
}

func (XStructDepth2_Map_Uint32_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_Map_Uint32_Uint32"`
}) {
}

type XStructDepth2_XStructDepth1_All struct {
	F8 XStructDepth1_All
}

func (XStructDepth2_XStructDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XStructDepth1_All"`
}) {
}

type XStructDepth2_XStructDepth1_Bool struct {
	F9 XStructDepth1_Bool
}

func (XStructDepth2_XStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XStructDepth1_Bool"`
}) {
}

type XStructDepth2_XUnionDepth1_All struct {
	F10 XUnionDepth1_All
}

func (XStructDepth2_XUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XUnionDepth1_All"`
}) {
}

type XStructDepth2_XUnionDepth1_Float64 struct {
	F11 XUnionDepth1_Float64
}

func (XStructDepth2_XUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_XUnionDepth1_Float64"`
}) {
}

type XStructDepth2_OptXStructDepth1_XEnumBcd struct {
	F12 *XStructDepth1_XEnumBcd
}

func (XStructDepth2_OptXStructDepth1_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_OptXStructDepth1_XEnumBcd"`
}) {
}

type XStructDepth2_OptXStructDepth1_XUint16 struct {
	F13 *XStructDepth1_XUint16
}

func (XStructDepth2_OptXStructDepth1_XUint16) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth2_OptXStructDepth1_XUint16"`
}) {
}

type (
	// XUnionDepth2_All represents any single field of the XUnionDepth2_All union type.
	XUnionDepth2_All 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 XUnionDepth2_All union type.
		__VDLReflect(__XUnionDepth2_AllReflect)
	}
	// XUnionDepth2_AllF0 represents field F0 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF0 struct{ Value XArray1_String }
	// XUnionDepth2_AllF1 represents field F1 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF1 struct{ Value XArray2_XByte }
	// XUnionDepth2_AllF2 represents field F2 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF2 struct{ Value XList_XByte }
	// XUnionDepth2_AllF3 represents field F3 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF3 struct{ Value XList_OptXNamedError }
	// XUnionDepth2_AllF4 represents field F4 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF4 struct{ Value XSet_XBool }
	// XUnionDepth2_AllF5 represents field F5 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF5 struct{ Value XSet_XNamedError }
	// XUnionDepth2_AllF6 represents field F6 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF6 struct{ Value map[XBool]XBool }
	// XUnionDepth2_AllF7 represents field F7 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF7 struct{ Value XMap_XBool_XBool }
	// XUnionDepth2_AllF8 represents field F8 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF8 struct{ Value XStructDepth1_All }
	// XUnionDepth2_AllF9 represents field F9 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF9 struct{ Value XStructDepth1_Int8 }
	// XUnionDepth2_AllF10 represents field F10 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF10 struct{ Value XUnionDepth1_All }
	// XUnionDepth2_AllF11 represents field F11 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF11 struct{ Value XUnionDepth1_XUint32 }
	// XUnionDepth2_AllF12 represents field F12 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF12 struct{ Value *XStructDepth1_XEnumBcd }
	// XUnionDepth2_AllF13 represents field F13 of the XUnionDepth2_All union type.
	XUnionDepth2_AllF13 struct{ Value *XStructDepth1_XFloat32 }
	// __XUnionDepth2_AllReflect describes the XUnionDepth2_All union type.
	__XUnionDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_All"`
		Type  XUnionDepth2_All
		Union struct {
			F0  XUnionDepth2_AllF0
			F1  XUnionDepth2_AllF1
			F2  XUnionDepth2_AllF2
			F3  XUnionDepth2_AllF3
			F4  XUnionDepth2_AllF4
			F5  XUnionDepth2_AllF5
			F6  XUnionDepth2_AllF6
			F7  XUnionDepth2_AllF7
			F8  XUnionDepth2_AllF8
			F9  XUnionDepth2_AllF9
			F10 XUnionDepth2_AllF10
			F11 XUnionDepth2_AllF11
			F12 XUnionDepth2_AllF12
			F13 XUnionDepth2_AllF13
		}
	}
)

func (x XUnionDepth2_AllF0) Index() int                             { return 0 }
func (x XUnionDepth2_AllF0) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF0) Name() string                           { return "F0" }
func (x XUnionDepth2_AllF0) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF1) Index() int                             { return 1 }
func (x XUnionDepth2_AllF1) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF1) Name() string                           { return "F1" }
func (x XUnionDepth2_AllF1) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF2) Index() int                             { return 2 }
func (x XUnionDepth2_AllF2) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF2) Name() string                           { return "F2" }
func (x XUnionDepth2_AllF2) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF3) Index() int                             { return 3 }
func (x XUnionDepth2_AllF3) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF3) Name() string                           { return "F3" }
func (x XUnionDepth2_AllF3) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF4) Index() int                             { return 4 }
func (x XUnionDepth2_AllF4) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF4) Name() string                           { return "F4" }
func (x XUnionDepth2_AllF4) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF5) Index() int                             { return 5 }
func (x XUnionDepth2_AllF5) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF5) Name() string                           { return "F5" }
func (x XUnionDepth2_AllF5) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF6) Index() int                             { return 6 }
func (x XUnionDepth2_AllF6) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF6) Name() string                           { return "F6" }
func (x XUnionDepth2_AllF6) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF7) Index() int                             { return 7 }
func (x XUnionDepth2_AllF7) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF7) Name() string                           { return "F7" }
func (x XUnionDepth2_AllF7) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF8) Index() int                             { return 8 }
func (x XUnionDepth2_AllF8) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF8) Name() string                           { return "F8" }
func (x XUnionDepth2_AllF8) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF9) Index() int                             { return 9 }
func (x XUnionDepth2_AllF9) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF9) Name() string                           { return "F9" }
func (x XUnionDepth2_AllF9) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF10) Index() int                             { return 10 }
func (x XUnionDepth2_AllF10) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF10) Name() string                           { return "F10" }
func (x XUnionDepth2_AllF10) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF11) Index() int                             { return 11 }
func (x XUnionDepth2_AllF11) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF11) Name() string                           { return "F11" }
func (x XUnionDepth2_AllF11) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF12) Index() int                             { return 12 }
func (x XUnionDepth2_AllF12) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF12) Name() string                           { return "F12" }
func (x XUnionDepth2_AllF12) __VDLReflect(__XUnionDepth2_AllReflect) {}

func (x XUnionDepth2_AllF13) Index() int                             { return 13 }
func (x XUnionDepth2_AllF13) Interface() interface{}                 { return x.Value }
func (x XUnionDepth2_AllF13) Name() string                           { return "F13" }
func (x XUnionDepth2_AllF13) __VDLReflect(__XUnionDepth2_AllReflect) {}

type (
	// XUnionDepth2_XArray1_String represents any single field of the XUnionDepth2_XArray1_String union type.
	XUnionDepth2_XArray1_String 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 XUnionDepth2_XArray1_String union type.
		__VDLReflect(__XUnionDepth2_XArray1_StringReflect)
	}
	// XUnionDepth2_XArray1_StringF0 represents field F0 of the XUnionDepth2_XArray1_String union type.
	XUnionDepth2_XArray1_StringF0 struct{ Value XArray1_String }
	// __XUnionDepth2_XArray1_StringReflect describes the XUnionDepth2_XArray1_String union type.
	__XUnionDepth2_XArray1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XArray1_String"`
		Type  XUnionDepth2_XArray1_String
		Union struct {
			F0 XUnionDepth2_XArray1_StringF0
		}
	}
)

func (x XUnionDepth2_XArray1_StringF0) Index() int                                        { return 0 }
func (x XUnionDepth2_XArray1_StringF0) Interface() interface{}                            { return x.Value }
func (x XUnionDepth2_XArray1_StringF0) Name() string                                      { return "F0" }
func (x XUnionDepth2_XArray1_StringF0) __VDLReflect(__XUnionDepth2_XArray1_StringReflect) {}

type (
	// XUnionDepth2_XArray2_XByte represents any single field of the XUnionDepth2_XArray2_XByte union type.
	XUnionDepth2_XArray2_XByte 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 XUnionDepth2_XArray2_XByte union type.
		__VDLReflect(__XUnionDepth2_XArray2_XByteReflect)
	}
	// XUnionDepth2_XArray2_XByteF1 represents field F1 of the XUnionDepth2_XArray2_XByte union type.
	XUnionDepth2_XArray2_XByteF1 struct{ Value XArray2_XByte }
	// __XUnionDepth2_XArray2_XByteReflect describes the XUnionDepth2_XArray2_XByte union type.
	__XUnionDepth2_XArray2_XByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XArray2_XByte"`
		Type  XUnionDepth2_XArray2_XByte
		Union struct {
			F1 XUnionDepth2_XArray2_XByteF1
		}
	}
)

func (x XUnionDepth2_XArray2_XByteF1) Index() int                                       { return 0 }
func (x XUnionDepth2_XArray2_XByteF1) Interface() interface{}                           { return x.Value }
func (x XUnionDepth2_XArray2_XByteF1) Name() string                                     { return "F1" }
func (x XUnionDepth2_XArray2_XByteF1) __VDLReflect(__XUnionDepth2_XArray2_XByteReflect) {}

type (
	// XUnionDepth2_XList_XByte represents any single field of the XUnionDepth2_XList_XByte union type.
	XUnionDepth2_XList_XByte 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 XUnionDepth2_XList_XByte union type.
		__VDLReflect(__XUnionDepth2_XList_XByteReflect)
	}
	// XUnionDepth2_XList_XByteF2 represents field F2 of the XUnionDepth2_XList_XByte union type.
	XUnionDepth2_XList_XByteF2 struct{ Value XList_XByte }
	// __XUnionDepth2_XList_XByteReflect describes the XUnionDepth2_XList_XByte union type.
	__XUnionDepth2_XList_XByteReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XList_XByte"`
		Type  XUnionDepth2_XList_XByte
		Union struct {
			F2 XUnionDepth2_XList_XByteF2
		}
	}
)

func (x XUnionDepth2_XList_XByteF2) Index() int                                     { return 0 }
func (x XUnionDepth2_XList_XByteF2) Interface() interface{}                         { return x.Value }
func (x XUnionDepth2_XList_XByteF2) Name() string                                   { return "F2" }
func (x XUnionDepth2_XList_XByteF2) __VDLReflect(__XUnionDepth2_XList_XByteReflect) {}

type (
	// XUnionDepth2_XList_OptXNamedError represents any single field of the XUnionDepth2_XList_OptXNamedError union type.
	XUnionDepth2_XList_OptXNamedError 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 XUnionDepth2_XList_OptXNamedError union type.
		__VDLReflect(__XUnionDepth2_XList_OptXNamedErrorReflect)
	}
	// XUnionDepth2_XList_OptXNamedErrorF3 represents field F3 of the XUnionDepth2_XList_OptXNamedError union type.
	XUnionDepth2_XList_OptXNamedErrorF3 struct{ Value XList_OptXNamedError }
	// __XUnionDepth2_XList_OptXNamedErrorReflect describes the XUnionDepth2_XList_OptXNamedError union type.
	__XUnionDepth2_XList_OptXNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XList_OptXNamedError"`
		Type  XUnionDepth2_XList_OptXNamedError
		Union struct {
			F3 XUnionDepth2_XList_OptXNamedErrorF3
		}
	}
)

func (x XUnionDepth2_XList_OptXNamedErrorF3) Index() int             { return 0 }
func (x XUnionDepth2_XList_OptXNamedErrorF3) Interface() interface{} { return x.Value }
func (x XUnionDepth2_XList_OptXNamedErrorF3) Name() string           { return "F3" }
func (x XUnionDepth2_XList_OptXNamedErrorF3) __VDLReflect(__XUnionDepth2_XList_OptXNamedErrorReflect) {
}

type (
	// XUnionDepth2_XSet_XBool represents any single field of the XUnionDepth2_XSet_XBool union type.
	XUnionDepth2_XSet_XBool 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 XUnionDepth2_XSet_XBool union type.
		__VDLReflect(__XUnionDepth2_XSet_XBoolReflect)
	}
	// XUnionDepth2_XSet_XBoolF4 represents field F4 of the XUnionDepth2_XSet_XBool union type.
	XUnionDepth2_XSet_XBoolF4 struct{ Value XSet_XBool }
	// __XUnionDepth2_XSet_XBoolReflect describes the XUnionDepth2_XSet_XBool union type.
	__XUnionDepth2_XSet_XBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XSet_XBool"`
		Type  XUnionDepth2_XSet_XBool
		Union struct {
			F4 XUnionDepth2_XSet_XBoolF4
		}
	}
)

func (x XUnionDepth2_XSet_XBoolF4) Index() int                                    { return 0 }
func (x XUnionDepth2_XSet_XBoolF4) Interface() interface{}                        { return x.Value }
func (x XUnionDepth2_XSet_XBoolF4) Name() string                                  { return "F4" }
func (x XUnionDepth2_XSet_XBoolF4) __VDLReflect(__XUnionDepth2_XSet_XBoolReflect) {}

type (
	// XUnionDepth2_XSet_XNamedError represents any single field of the XUnionDepth2_XSet_XNamedError union type.
	XUnionDepth2_XSet_XNamedError 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 XUnionDepth2_XSet_XNamedError union type.
		__VDLReflect(__XUnionDepth2_XSet_XNamedErrorReflect)
	}
	// XUnionDepth2_XSet_XNamedErrorF5 represents field F5 of the XUnionDepth2_XSet_XNamedError union type.
	XUnionDepth2_XSet_XNamedErrorF5 struct{ Value XSet_XNamedError }
	// __XUnionDepth2_XSet_XNamedErrorReflect describes the XUnionDepth2_XSet_XNamedError union type.
	__XUnionDepth2_XSet_XNamedErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XSet_XNamedError"`
		Type  XUnionDepth2_XSet_XNamedError
		Union struct {
			F5 XUnionDepth2_XSet_XNamedErrorF5
		}
	}
)

func (x XUnionDepth2_XSet_XNamedErrorF5) Index() int                                          { return 0 }
func (x XUnionDepth2_XSet_XNamedErrorF5) Interface() interface{}                              { return x.Value }
func (x XUnionDepth2_XSet_XNamedErrorF5) Name() string                                        { return "F5" }
func (x XUnionDepth2_XSet_XNamedErrorF5) __VDLReflect(__XUnionDepth2_XSet_XNamedErrorReflect) {}

type (
	// XUnionDepth2_Map_XBool_XBool represents any single field of the XUnionDepth2_Map_XBool_XBool union type.
	XUnionDepth2_Map_XBool_XBool 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 XUnionDepth2_Map_XBool_XBool union type.
		__VDLReflect(__XUnionDepth2_Map_XBool_XBoolReflect)
	}
	// XUnionDepth2_Map_XBool_XBoolF6 represents field F6 of the XUnionDepth2_Map_XBool_XBool union type.
	XUnionDepth2_Map_XBool_XBoolF6 struct{ Value map[XBool]XBool }
	// __XUnionDepth2_Map_XBool_XBoolReflect describes the XUnionDepth2_Map_XBool_XBool union type.
	__XUnionDepth2_Map_XBool_XBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_Map_XBool_XBool"`
		Type  XUnionDepth2_Map_XBool_XBool
		Union struct {
			F6 XUnionDepth2_Map_XBool_XBoolF6
		}
	}
)

func (x XUnionDepth2_Map_XBool_XBoolF6) Index() int                                         { return 0 }
func (x XUnionDepth2_Map_XBool_XBoolF6) Interface() interface{}                             { return x.Value }
func (x XUnionDepth2_Map_XBool_XBoolF6) Name() string                                       { return "F6" }
func (x XUnionDepth2_Map_XBool_XBoolF6) __VDLReflect(__XUnionDepth2_Map_XBool_XBoolReflect) {}

type (
	// XUnionDepth2_XMap_XBool_XBool represents any single field of the XUnionDepth2_XMap_XBool_XBool union type.
	XUnionDepth2_XMap_XBool_XBool 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 XUnionDepth2_XMap_XBool_XBool union type.
		__VDLReflect(__XUnionDepth2_XMap_XBool_XBoolReflect)
	}
	// XUnionDepth2_XMap_XBool_XBoolF7 represents field F7 of the XUnionDepth2_XMap_XBool_XBool union type.
	XUnionDepth2_XMap_XBool_XBoolF7 struct{ Value XMap_XBool_XBool }
	// __XUnionDepth2_XMap_XBool_XBoolReflect describes the XUnionDepth2_XMap_XBool_XBool union type.
	__XUnionDepth2_XMap_XBool_XBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XMap_XBool_XBool"`
		Type  XUnionDepth2_XMap_XBool_XBool
		Union struct {
			F7 XUnionDepth2_XMap_XBool_XBoolF7
		}
	}
)

func (x XUnionDepth2_XMap_XBool_XBoolF7) Index() int                                          { return 0 }
func (x XUnionDepth2_XMap_XBool_XBoolF7) Interface() interface{}                              { return x.Value }
func (x XUnionDepth2_XMap_XBool_XBoolF7) Name() string                                        { return "F7" }
func (x XUnionDepth2_XMap_XBool_XBoolF7) __VDLReflect(__XUnionDepth2_XMap_XBool_XBoolReflect) {}

type (
	// XUnionDepth2_XStructDepth1_All represents any single field of the XUnionDepth2_XStructDepth1_All union type.
	XUnionDepth2_XStructDepth1_All 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 XUnionDepth2_XStructDepth1_All union type.
		__VDLReflect(__XUnionDepth2_XStructDepth1_AllReflect)
	}
	// XUnionDepth2_XStructDepth1_AllF8 represents field F8 of the XUnionDepth2_XStructDepth1_All union type.
	XUnionDepth2_XStructDepth1_AllF8 struct{ Value XStructDepth1_All }
	// __XUnionDepth2_XStructDepth1_AllReflect describes the XUnionDepth2_XStructDepth1_All union type.
	__XUnionDepth2_XStructDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XStructDepth1_All"`
		Type  XUnionDepth2_XStructDepth1_All
		Union struct {
			F8 XUnionDepth2_XStructDepth1_AllF8
		}
	}
)

func (x XUnionDepth2_XStructDepth1_AllF8) Index() int                                           { return 0 }
func (x XUnionDepth2_XStructDepth1_AllF8) Interface() interface{}                               { return x.Value }
func (x XUnionDepth2_XStructDepth1_AllF8) Name() string                                         { return "F8" }
func (x XUnionDepth2_XStructDepth1_AllF8) __VDLReflect(__XUnionDepth2_XStructDepth1_AllReflect) {}

type (
	// XUnionDepth2_XStructDepth1_Int8 represents any single field of the XUnionDepth2_XStructDepth1_Int8 union type.
	XUnionDepth2_XStructDepth1_Int8 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 XUnionDepth2_XStructDepth1_Int8 union type.
		__VDLReflect(__XUnionDepth2_XStructDepth1_Int8Reflect)
	}
	// XUnionDepth2_XStructDepth1_Int8F9 represents field F9 of the XUnionDepth2_XStructDepth1_Int8 union type.
	XUnionDepth2_XStructDepth1_Int8F9 struct{ Value XStructDepth1_Int8 }
	// __XUnionDepth2_XStructDepth1_Int8Reflect describes the XUnionDepth2_XStructDepth1_Int8 union type.
	__XUnionDepth2_XStructDepth1_Int8Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XStructDepth1_Int8"`
		Type  XUnionDepth2_XStructDepth1_Int8
		Union struct {
			F9 XUnionDepth2_XStructDepth1_Int8F9
		}
	}
)

func (x XUnionDepth2_XStructDepth1_Int8F9) Index() int                                            { return 0 }
func (x XUnionDepth2_XStructDepth1_Int8F9) Interface() interface{}                                { return x.Value }
func (x XUnionDepth2_XStructDepth1_Int8F9) Name() string                                          { return "F9" }
func (x XUnionDepth2_XStructDepth1_Int8F9) __VDLReflect(__XUnionDepth2_XStructDepth1_Int8Reflect) {}

type (
	// XUnionDepth2_XUnionDepth1_All represents any single field of the XUnionDepth2_XUnionDepth1_All union type.
	XUnionDepth2_XUnionDepth1_All 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 XUnionDepth2_XUnionDepth1_All union type.
		__VDLReflect(__XUnionDepth2_XUnionDepth1_AllReflect)
	}
	// XUnionDepth2_XUnionDepth1_AllF10 represents field F10 of the XUnionDepth2_XUnionDepth1_All union type.
	XUnionDepth2_XUnionDepth1_AllF10 struct{ Value XUnionDepth1_All }
	// __XUnionDepth2_XUnionDepth1_AllReflect describes the XUnionDepth2_XUnionDepth1_All union type.
	__XUnionDepth2_XUnionDepth1_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XUnionDepth1_All"`
		Type  XUnionDepth2_XUnionDepth1_All
		Union struct {
			F10 XUnionDepth2_XUnionDepth1_AllF10
		}
	}
)

func (x XUnionDepth2_XUnionDepth1_AllF10) Index() int                                          { return 0 }
func (x XUnionDepth2_XUnionDepth1_AllF10) Interface() interface{}                              { return x.Value }
func (x XUnionDepth2_XUnionDepth1_AllF10) Name() string                                        { return "F10" }
func (x XUnionDepth2_XUnionDepth1_AllF10) __VDLReflect(__XUnionDepth2_XUnionDepth1_AllReflect) {}

type (
	// XUnionDepth2_XUnionDepth1_XUint32 represents any single field of the XUnionDepth2_XUnionDepth1_XUint32 union type.
	XUnionDepth2_XUnionDepth1_XUint32 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 XUnionDepth2_XUnionDepth1_XUint32 union type.
		__VDLReflect(__XUnionDepth2_XUnionDepth1_XUint32Reflect)
	}
	// XUnionDepth2_XUnionDepth1_XUint32F11 represents field F11 of the XUnionDepth2_XUnionDepth1_XUint32 union type.
	XUnionDepth2_XUnionDepth1_XUint32F11 struct{ Value XUnionDepth1_XUint32 }
	// __XUnionDepth2_XUnionDepth1_XUint32Reflect describes the XUnionDepth2_XUnionDepth1_XUint32 union type.
	__XUnionDepth2_XUnionDepth1_XUint32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_XUnionDepth1_XUint32"`
		Type  XUnionDepth2_XUnionDepth1_XUint32
		Union struct {
			F11 XUnionDepth2_XUnionDepth1_XUint32F11
		}
	}
)

func (x XUnionDepth2_XUnionDepth1_XUint32F11) Index() int             { return 0 }
func (x XUnionDepth2_XUnionDepth1_XUint32F11) Interface() interface{} { return x.Value }
func (x XUnionDepth2_XUnionDepth1_XUint32F11) Name() string           { return "F11" }
func (x XUnionDepth2_XUnionDepth1_XUint32F11) __VDLReflect(__XUnionDepth2_XUnionDepth1_XUint32Reflect) {
}

type (
	// XUnionDepth2_OptXStructDepth1_XEnumBcd represents any single field of the XUnionDepth2_OptXStructDepth1_XEnumBcd union type.
	XUnionDepth2_OptXStructDepth1_XEnumBcd 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 XUnionDepth2_OptXStructDepth1_XEnumBcd union type.
		__VDLReflect(__XUnionDepth2_OptXStructDepth1_XEnumBcdReflect)
	}
	// XUnionDepth2_OptXStructDepth1_XEnumBcdF12 represents field F12 of the XUnionDepth2_OptXStructDepth1_XEnumBcd union type.
	XUnionDepth2_OptXStructDepth1_XEnumBcdF12 struct{ Value *XStructDepth1_XEnumBcd }
	// __XUnionDepth2_OptXStructDepth1_XEnumBcdReflect describes the XUnionDepth2_OptXStructDepth1_XEnumBcd union type.
	__XUnionDepth2_OptXStructDepth1_XEnumBcdReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_OptXStructDepth1_XEnumBcd"`
		Type  XUnionDepth2_OptXStructDepth1_XEnumBcd
		Union struct {
			F12 XUnionDepth2_OptXStructDepth1_XEnumBcdF12
		}
	}
)

func (x XUnionDepth2_OptXStructDepth1_XEnumBcdF12) Index() int             { return 0 }
func (x XUnionDepth2_OptXStructDepth1_XEnumBcdF12) Interface() interface{} { return x.Value }
func (x XUnionDepth2_OptXStructDepth1_XEnumBcdF12) Name() string           { return "F12" }
func (x XUnionDepth2_OptXStructDepth1_XEnumBcdF12) __VDLReflect(__XUnionDepth2_OptXStructDepth1_XEnumBcdReflect) {
}

type (
	// XUnionDepth2_OptXStructDepth1_XFloat32 represents any single field of the XUnionDepth2_OptXStructDepth1_XFloat32 union type.
	XUnionDepth2_OptXStructDepth1_XFloat32 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 XUnionDepth2_OptXStructDepth1_XFloat32 union type.
		__VDLReflect(__XUnionDepth2_OptXStructDepth1_XFloat32Reflect)
	}
	// XUnionDepth2_OptXStructDepth1_XFloat32F13 represents field F13 of the XUnionDepth2_OptXStructDepth1_XFloat32 union type.
	XUnionDepth2_OptXStructDepth1_XFloat32F13 struct{ Value *XStructDepth1_XFloat32 }
	// __XUnionDepth2_OptXStructDepth1_XFloat32Reflect describes the XUnionDepth2_OptXStructDepth1_XFloat32 union type.
	__XUnionDepth2_OptXStructDepth1_XFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth2_OptXStructDepth1_XFloat32"`
		Type  XUnionDepth2_OptXStructDepth1_XFloat32
		Union struct {
			F13 XUnionDepth2_OptXStructDepth1_XFloat32F13
		}
	}
)

func (x XUnionDepth2_OptXStructDepth1_XFloat32F13) Index() int             { return 0 }
func (x XUnionDepth2_OptXStructDepth1_XFloat32F13) Interface() interface{} { return x.Value }
func (x XUnionDepth2_OptXStructDepth1_XFloat32F13) Name() string           { return "F13" }
func (x XUnionDepth2_OptXStructDepth1_XFloat32F13) __VDLReflect(__XUnionDepth2_OptXStructDepth1_XFloat32Reflect) {
}

type XArray1_XArray1_XList_Byte [1]XArray1_XList_Byte

func (XArray1_XArray1_XList_Byte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray1_XArray1_XList_Byte"`
}) {
}

type XArray2_List_XMap_XByte_XByte [2][]XMap_XByte_XByte

func (XArray2_List_XMap_XByte_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_List_XMap_XByte_XByte"`
}) {
}

type XArray2_Set_XUnionDepth1_XNamedError [2]map[XUnionDepth1_XNamedError]struct{}

func (XArray2_Set_XUnionDepth1_XNamedError) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_Set_XUnionDepth1_XNamedError"`
}) {
}

type XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64 [3]map[XUnionDepth1_Float64]XUnionDepth1_Float64

func (XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64"`
}) {
}

type XArray2_XStructDepth2_All [2]XStructDepth2_All

func (XArray2_XStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XStructDepth2_All"`
}) {
}

type XArray2_XUnionDepth2_All [2]XUnionDepth2_All

func (XArray2_XUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray2_XUnionDepth2_All"`
}) {
}

type XArray3_OptXStructDepth2_Set_Float64 [3]*XStructDepth2_Set_Float64

func (XArray3_OptXStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XArray3_OptXStructDepth2_Set_Float64"`
}) {
}

type XList_XArray3_XUnionDepth1_All []XArray3_XUnionDepth1_All

func (XList_XArray3_XUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XArray3_XUnionDepth1_All"`
}) {
}

type XList_List_XMap_XByte_XByte [][]XMap_XByte_XByte

func (XList_List_XMap_XByte_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_List_XMap_XByte_XByte"`
}) {
}

type XList_XSet_XArray1_XStructEmpty []XSet_XArray1_XStructEmpty

func (XList_XSet_XArray1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XSet_XArray1_XStructEmpty"`
}) {
}

type XList_XMap_XArray3_XBool_XArray3_XBool []XMap_XArray3_XBool_XArray3_XBool

func (XList_XMap_XArray3_XBool_XArray3_XBool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XMap_XArray3_XBool_XArray3_XBool"`
}) {
}

type XList_XStructDepth2_All []XStructDepth2_All

func (XList_XStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XStructDepth2_All"`
}) {
}

type XList_XUnionDepth2_All []XUnionDepth2_All

func (XList_XUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_XUnionDepth2_All"`
}) {
}

type XList_OptXStructDepth2_Set_Float64 []*XStructDepth2_Set_Float64

func (XList_OptXStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XList_OptXStructDepth2_Set_Float64"`
}) {
}

type XSet_XArray1_XArray3_Int64 map[XArray1_XArray3_Int64]struct{}

func (XSet_XArray1_XArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XArray1_XArray3_Int64"`
}) {
}

type XSet_XStructDepth2_XStructDepth1_Bool map[XStructDepth2_XStructDepth1_Bool]struct{}

func (XSet_XStructDepth2_XStructDepth1_Bool) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XStructDepth2_XStructDepth1_Bool"`
}) {
}

type XSet_XUnionDepth2_XArray1_String map[XUnionDepth2_XArray1_String]struct{}

func (XSet_XUnionDepth2_XArray1_String) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XSet_XUnionDepth2_XArray1_String"`
}) {
}

type XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64 map[XArray1_XArray3_Int64]XArray1_XArray3_Int64

func (XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64"`
}) {
}

type XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32 map[XStructDepth2_XArray1_Uint32]XStructDepth2_XArray1_Uint32

func (XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32"`
}) {
}

type XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte map[XUnionDepth2_XArray2_XByte]XUnionDepth2_XArray2_XByte

func (XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte"`
}) {
}

type XStructDepth3_All struct {
	F0 XArray1_Set_XEnumBcd
	F1 []XUnionDepth1_All
	F2 XSet_XArray1_XStructEmpty
	F3 map[XUnionDepth1_Float64]XUnionDepth1_Float64
	F4 XStructDepth2_All
	F5 XUnionDepth2_All
	F6 *XStructDepth2_Set_Float64
}

func (XStructDepth3_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_All"`
}) {
}

type XStructDepth3_XArray1_Set_XEnumBcd struct {
	F0 XArray1_Set_XEnumBcd
}

func (XStructDepth3_XArray1_Set_XEnumBcd) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_XArray1_Set_XEnumBcd"`
}) {
}

type XStructDepth3_List_XUnionDepth1_All struct {
	F1 []XUnionDepth1_All
}

func (XStructDepth3_List_XUnionDepth1_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_List_XUnionDepth1_All"`
}) {
}

type XStructDepth3_XSet_XArray1_XStructEmpty struct {
	F2 XSet_XArray1_XStructEmpty
}

func (XStructDepth3_XSet_XArray1_XStructEmpty) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_XSet_XArray1_XStructEmpty"`
}) {
}

type XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64 struct {
	F3 map[XUnionDepth1_Float64]XUnionDepth1_Float64
}

func (XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64"`
}) {
}

type XStructDepth3_XStructDepth2_All struct {
	F4 XStructDepth2_All
}

func (XStructDepth3_XStructDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_XStructDepth2_All"`
}) {
}

type XStructDepth3_XUnionDepth2_All struct {
	F5 XUnionDepth2_All
}

func (XStructDepth3_XUnionDepth2_All) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_XUnionDepth2_All"`
}) {
}

type XStructDepth3_OptXStructDepth2_Set_Float64 struct {
	F6 *XStructDepth2_Set_Float64
}

func (XStructDepth3_OptXStructDepth2_Set_Float64) __VDLReflect(struct {
	Name string `vdl:"v.io/v23/vdl/vdltest.XStructDepth3_OptXStructDepth2_Set_Float64"`
}) {
}

type (
	// XUnionDepth3_All represents any single field of the XUnionDepth3_All union type.
	XUnionDepth3_All 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 XUnionDepth3_All union type.
		__VDLReflect(__XUnionDepth3_AllReflect)
	}
	// XUnionDepth3_AllF0 represents field F0 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF0 struct {
		Value XArray3_OptXStructDepth1_XFloat32
	}
	// XUnionDepth3_AllF1 represents field F1 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF1 struct{ Value []XList_Error }
	// XUnionDepth3_AllF2 represents field F2 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF2 struct {
		Value map[XStructDepth1_String]struct{}
	}
	// XUnionDepth3_AllF3 represents field F3 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF3 struct {
		Value XMap_XStructDepth1_XBool_XStructDepth1_XBool
	}
	// XUnionDepth3_AllF4 represents field F4 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF4 struct{ Value XStructDepth2_All }
	// XUnionDepth3_AllF5 represents field F5 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF5 struct{ Value XUnionDepth2_All }
	// XUnionDepth3_AllF6 represents field F6 of the XUnionDepth3_All union type.
	XUnionDepth3_AllF6 struct{ Value *XStructDepth2_Set_Float64 }
	// __XUnionDepth3_AllReflect describes the XUnionDepth3_All union type.
	__XUnionDepth3_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_All"`
		Type  XUnionDepth3_All
		Union struct {
			F0 XUnionDepth3_AllF0
			F1 XUnionDepth3_AllF1
			F2 XUnionDepth3_AllF2
			F3 XUnionDepth3_AllF3
			F4 XUnionDepth3_AllF4
			F5 XUnionDepth3_AllF5
			F6 XUnionDepth3_AllF6
		}
	}
)

func (x XUnionDepth3_AllF0) Index() int                             { return 0 }
func (x XUnionDepth3_AllF0) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF0) Name() string                           { return "F0" }
func (x XUnionDepth3_AllF0) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF1) Index() int                             { return 1 }
func (x XUnionDepth3_AllF1) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF1) Name() string                           { return "F1" }
func (x XUnionDepth3_AllF1) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF2) Index() int                             { return 2 }
func (x XUnionDepth3_AllF2) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF2) Name() string                           { return "F2" }
func (x XUnionDepth3_AllF2) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF3) Index() int                             { return 3 }
func (x XUnionDepth3_AllF3) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF3) Name() string                           { return "F3" }
func (x XUnionDepth3_AllF3) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF4) Index() int                             { return 4 }
func (x XUnionDepth3_AllF4) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF4) Name() string                           { return "F4" }
func (x XUnionDepth3_AllF4) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF5) Index() int                             { return 5 }
func (x XUnionDepth3_AllF5) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF5) Name() string                           { return "F5" }
func (x XUnionDepth3_AllF5) __VDLReflect(__XUnionDepth3_AllReflect) {}

func (x XUnionDepth3_AllF6) Index() int                             { return 6 }
func (x XUnionDepth3_AllF6) Interface() interface{}                 { return x.Value }
func (x XUnionDepth3_AllF6) Name() string                           { return "F6" }
func (x XUnionDepth3_AllF6) __VDLReflect(__XUnionDepth3_AllReflect) {}

type (
	// XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 represents any single field of the XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 union type.
	XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 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 XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 union type.
		__VDLReflect(__XUnionDepth3_XArray3_OptXStructDepth1_XFloat32Reflect)
	}
	// XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0 represents field F0 of the XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 union type.
	XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0 struct {
		Value XArray3_OptXStructDepth1_XFloat32
	}
	// __XUnionDepth3_XArray3_OptXStructDepth1_XFloat32Reflect describes the XUnionDepth3_XArray3_OptXStructDepth1_XFloat32 union type.
	__XUnionDepth3_XArray3_OptXStructDepth1_XFloat32Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_XArray3_OptXStructDepth1_XFloat32"`
		Type  XUnionDepth3_XArray3_OptXStructDepth1_XFloat32
		Union struct {
			F0 XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0
		}
	}
)

func (x XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0) Index() int             { return 0 }
func (x XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0) Interface() interface{} { return x.Value }
func (x XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0) Name() string           { return "F0" }
func (x XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0) __VDLReflect(__XUnionDepth3_XArray3_OptXStructDepth1_XFloat32Reflect) {
}

type (
	// XUnionDepth3_List_XList_Error represents any single field of the XUnionDepth3_List_XList_Error union type.
	XUnionDepth3_List_XList_Error 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 XUnionDepth3_List_XList_Error union type.
		__VDLReflect(__XUnionDepth3_List_XList_ErrorReflect)
	}
	// XUnionDepth3_List_XList_ErrorF1 represents field F1 of the XUnionDepth3_List_XList_Error union type.
	XUnionDepth3_List_XList_ErrorF1 struct{ Value []XList_Error }
	// __XUnionDepth3_List_XList_ErrorReflect describes the XUnionDepth3_List_XList_Error union type.
	__XUnionDepth3_List_XList_ErrorReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_List_XList_Error"`
		Type  XUnionDepth3_List_XList_Error
		Union struct {
			F1 XUnionDepth3_List_XList_ErrorF1
		}
	}
)

func (x XUnionDepth3_List_XList_ErrorF1) Index() int                                          { return 0 }
func (x XUnionDepth3_List_XList_ErrorF1) Interface() interface{}                              { return x.Value }
func (x XUnionDepth3_List_XList_ErrorF1) Name() string                                        { return "F1" }
func (x XUnionDepth3_List_XList_ErrorF1) __VDLReflect(__XUnionDepth3_List_XList_ErrorReflect) {}

type (
	// XUnionDepth3_Set_XStructDepth1_String represents any single field of the XUnionDepth3_Set_XStructDepth1_String union type.
	XUnionDepth3_Set_XStructDepth1_String 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 XUnionDepth3_Set_XStructDepth1_String union type.
		__VDLReflect(__XUnionDepth3_Set_XStructDepth1_StringReflect)
	}
	// XUnionDepth3_Set_XStructDepth1_StringF2 represents field F2 of the XUnionDepth3_Set_XStructDepth1_String union type.
	XUnionDepth3_Set_XStructDepth1_StringF2 struct {
		Value map[XStructDepth1_String]struct{}
	}
	// __XUnionDepth3_Set_XStructDepth1_StringReflect describes the XUnionDepth3_Set_XStructDepth1_String union type.
	__XUnionDepth3_Set_XStructDepth1_StringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_Set_XStructDepth1_String"`
		Type  XUnionDepth3_Set_XStructDepth1_String
		Union struct {
			F2 XUnionDepth3_Set_XStructDepth1_StringF2
		}
	}
)

func (x XUnionDepth3_Set_XStructDepth1_StringF2) Index() int             { return 0 }
func (x XUnionDepth3_Set_XStructDepth1_StringF2) Interface() interface{} { return x.Value }
func (x XUnionDepth3_Set_XStructDepth1_StringF2) Name() string           { return "F2" }
func (x XUnionDepth3_Set_XStructDepth1_StringF2) __VDLReflect(__XUnionDepth3_Set_XStructDepth1_StringReflect) {
}

type (
	// XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool represents any single field of the XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool union type.
	XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool 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 XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool union type.
		__VDLReflect(__XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolReflect)
	}
	// XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3 represents field F3 of the XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool union type.
	XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3 struct {
		Value XMap_XStructDepth1_XBool_XStructDepth1_XBool
	}
	// __XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolReflect describes the XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool union type.
	__XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool"`
		Type  XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool
		Union struct {
			F3 XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3
		}
	}
)

func (x XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3) Index() int { return 0 }
func (x XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3) Interface() interface{} {
	return x.Value
}
func (x XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3) Name() string { return "F3" }
func (x XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3) __VDLReflect(__XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolReflect) {
}

type (
	// XUnionDepth3_XStructDepth2_All represents any single field of the XUnionDepth3_XStructDepth2_All union type.
	XUnionDepth3_XStructDepth2_All 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 XUnionDepth3_XStructDepth2_All union type.
		__VDLReflect(__XUnionDepth3_XStructDepth2_AllReflect)
	}
	// XUnionDepth3_XStructDepth2_AllF4 represents field F4 of the XUnionDepth3_XStructDepth2_All union type.
	XUnionDepth3_XStructDepth2_AllF4 struct{ Value XStructDepth2_All }
	// __XUnionDepth3_XStructDepth2_AllReflect describes the XUnionDepth3_XStructDepth2_All union type.
	__XUnionDepth3_XStructDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_XStructDepth2_All"`
		Type  XUnionDepth3_XStructDepth2_All
		Union struct {
			F4 XUnionDepth3_XStructDepth2_AllF4
		}
	}
)

func (x XUnionDepth3_XStructDepth2_AllF4) Index() int                                           { return 0 }
func (x XUnionDepth3_XStructDepth2_AllF4) Interface() interface{}                               { return x.Value }
func (x XUnionDepth3_XStructDepth2_AllF4) Name() string                                         { return "F4" }
func (x XUnionDepth3_XStructDepth2_AllF4) __VDLReflect(__XUnionDepth3_XStructDepth2_AllReflect) {}

type (
	// XUnionDepth3_XUnionDepth2_All represents any single field of the XUnionDepth3_XUnionDepth2_All union type.
	XUnionDepth3_XUnionDepth2_All 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 XUnionDepth3_XUnionDepth2_All union type.
		__VDLReflect(__XUnionDepth3_XUnionDepth2_AllReflect)
	}
	// XUnionDepth3_XUnionDepth2_AllF5 represents field F5 of the XUnionDepth3_XUnionDepth2_All union type.
	XUnionDepth3_XUnionDepth2_AllF5 struct{ Value XUnionDepth2_All }
	// __XUnionDepth3_XUnionDepth2_AllReflect describes the XUnionDepth3_XUnionDepth2_All union type.
	__XUnionDepth3_XUnionDepth2_AllReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_XUnionDepth2_All"`
		Type  XUnionDepth3_XUnionDepth2_All
		Union struct {
			F5 XUnionDepth3_XUnionDepth2_AllF5
		}
	}
)

func (x XUnionDepth3_XUnionDepth2_AllF5) Index() int                                          { return 0 }
func (x XUnionDepth3_XUnionDepth2_AllF5) Interface() interface{}                              { return x.Value }
func (x XUnionDepth3_XUnionDepth2_AllF5) Name() string                                        { return "F5" }
func (x XUnionDepth3_XUnionDepth2_AllF5) __VDLReflect(__XUnionDepth3_XUnionDepth2_AllReflect) {}

type (
	// XUnionDepth3_OptXStructDepth2_Set_Float64 represents any single field of the XUnionDepth3_OptXStructDepth2_Set_Float64 union type.
	XUnionDepth3_OptXStructDepth2_Set_Float64 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 XUnionDepth3_OptXStructDepth2_Set_Float64 union type.
		__VDLReflect(__XUnionDepth3_OptXStructDepth2_Set_Float64Reflect)
	}
	// XUnionDepth3_OptXStructDepth2_Set_Float64F6 represents field F6 of the XUnionDepth3_OptXStructDepth2_Set_Float64 union type.
	XUnionDepth3_OptXStructDepth2_Set_Float64F6 struct{ Value *XStructDepth2_Set_Float64 }
	// __XUnionDepth3_OptXStructDepth2_Set_Float64Reflect describes the XUnionDepth3_OptXStructDepth2_Set_Float64 union type.
	__XUnionDepth3_OptXStructDepth2_Set_Float64Reflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.XUnionDepth3_OptXStructDepth2_Set_Float64"`
		Type  XUnionDepth3_OptXStructDepth2_Set_Float64
		Union struct {
			F6 XUnionDepth3_OptXStructDepth2_Set_Float64F6
		}
	}
)

func (x XUnionDepth3_OptXStructDepth2_Set_Float64F6) Index() int             { return 0 }
func (x XUnionDepth3_OptXStructDepth2_Set_Float64F6) Interface() interface{} { return x.Value }
func (x XUnionDepth3_OptXStructDepth2_Set_Float64F6) Name() string           { return "F6" }
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

var vAllFail = []vdlEntry(nil)
var vAllPass = []vdlEntry{
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "any(nil)",
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "false",
		Target:      false,
		SourceLabel: "false",
		Source:      false,
	},
	{
		Label:       "Zero",
		TargetLabel: "false",
		Target:      false,
		SourceLabel: "VBool(false)",
		Source:      VBool(false),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "true",
		Target:      true,
		SourceLabel: "true",
		Source:      true,
	},
	{
		Label:       "Full",
		TargetLabel: "true",
		Target:      true,
		SourceLabel: "VBool(true)",
		Source:      VBool(true),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VBool(false)",
		Target:      VBool(false),
		SourceLabel: "VBool(false)",
		Source:      VBool(false),
	},
	{
		Label:       "Zero",
		TargetLabel: "VBool(false)",
		Target:      VBool(false),
		SourceLabel: "false",
		Source:      false,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VBool(true)",
		Target:      VBool(true),
		SourceLabel: "VBool(true)",
		Source:      VBool(true),
	},
	{
		Label:       "Full",
		TargetLabel: "VBool(true)",
		Target:      VBool(true),
		SourceLabel: "true",
		Source:      true,
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "\"\"",
		Target:      "",
		SourceLabel: "\"\"",
		Source:      "",
	},
	{
		Label:       "Zero",
		TargetLabel: "\"\"",
		Target:      "",
		SourceLabel: "VString(\"\")",
		Source:      VString(""),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
		Target:      "abcdeΔΘΠΣΦ王普澤世界",
		SourceLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
		Source:      "abcdeΔΘΠΣΦ王普澤世界",
	},
	{
		Label:       "Full",
		TargetLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
		Target:      "abcdeΔΘΠΣΦ王普澤世界",
		SourceLabel: "VString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Source:      VString("abcdeΔΘΠΣΦ王普澤世界"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "\"Φ王\"",
		Target:      "Φ王",
		SourceLabel: "\"Φ王\"",
		Source:      "Φ王",
	},
	{
		Label:       "Random0",
		TargetLabel: "\"Φ王\"",
		Target:      "Φ王",
		SourceLabel: "VString(\"Φ王\")",
		Source:      VString("Φ王"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VString(\"\")",
		Target:      VString(""),
		SourceLabel: "VString(\"\")",
		Source:      VString(""),
	},
	{
		Label:       "Zero",
		TargetLabel: "VString(\"\")",
		Target:      VString(""),
		SourceLabel: "\"\"",
		Source:      "",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Target:      VString("abcdeΔΘΠΣΦ王普澤世界"),
		SourceLabel: "VString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Source:      VString("abcdeΔΘΠΣΦ王普澤世界"),
	},
	{
		Label:       "Full",
		TargetLabel: "VString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Target:      VString("abcdeΔΘΠΣΦ王普澤世界"),
		SourceLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
		Source:      "abcdeΔΘΠΣΦ王普澤世界",
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VString(\"ΠΣΦ王普\")",
		Target:      VString("ΠΣΦ王普"),
		SourceLabel: "VString(\"ΠΣΦ王普\")",
		Source:      VString("ΠΣΦ王普"),
	},
	{
		Label:       "Random0",
		TargetLabel: "VString(\"ΠΣΦ王普\")",
		Target:      VString("ΠΣΦ王普"),
		SourceLabel: "\"ΠΣΦ王普\"",
		Source:      "ΠΣΦ王普",
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "typeobject(any)",
		Target:      vdl.AnyType,
		SourceLabel: "typeobject(any)",
		Source:      vdl.AnyType,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "typeobject(int64)",
		Target:      vdl.Int64Type,
		SourceLabel: "typeobject(int64)",
		Source:      vdl.Int64Type,
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "typeobject([]bool)",
		Target:      __VDLType_list_285,
		SourceLabel: "typeobject([]bool)",
		Source:      __VDLType_list_285,
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "byte(0)",
		Target:      byte(0),
		SourceLabel: "byte(0)",
		Source:      byte(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "byte(0)",
		Target:      byte(0),
		SourceLabel: "VByte(0)",
		Source:      VByte(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "byte(0)",
		Target:      byte(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "byte(255)",
		Source:      byte(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "uint16(255)",
		Source:      uint16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "uint32(255)",
		Source:      uint32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "uint64(255)",
		Source:      uint64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "int16(255)",
		Source:      int16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "int32(255)",
		Source:      int32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "int64(255)",
		Source:      int64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "float32(255)",
		Source:      float32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "float64(255)",
		Source:      float64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "VUint64(255)",
		Source:      VUint64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "byte(255)",
		Target:      byte(255),
		SourceLabel: "VByte(255)",
		Source:      VByte(255),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "byte(1)",
		Target:      byte(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "byte(123)",
		Target:      byte(123),
		SourceLabel: "byte(123)",
		Source:      byte(123),
	},
	{
		Label:       "Full",
		TargetLabel: "byte(123)",
		Target:      byte(123),
		SourceLabel: "VInt8(123)",
		Source:      VInt8(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "byte(2)",
		Target:      byte(2),
		SourceLabel: "byte(2)",
		Source:      byte(2),
	},
	{
		Label:       "Random0",
		TargetLabel: "byte(2)",
		Target:      byte(2),
		SourceLabel: "VUint16(2)",
		Source:      VUint16(2),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VByte(0)",
		Target:      VByte(0),
		SourceLabel: "VByte(0)",
		Source:      VByte(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VByte(0)",
		Target:      VByte(0),
		SourceLabel: "VInt8(0)",
		Source:      VInt8(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VByte(0)",
		Target:      VByte(0),
		SourceLabel: "VUint32(0)",
		Source:      VUint32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VByte(255)",
		Source:      VByte(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VUint16(255)",
		Source:      VUint16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VUint32(255)",
		Source:      VUint32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VUint64(255)",
		Source:      VUint64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VInt16(255)",
		Source:      VInt16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VInt32(255)",
		Source:      VInt32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VInt64(255)",
		Source:      VInt64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VFloat32(255)",
		Source:      VFloat32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "VFloat64(255)",
		Source:      VFloat64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "int16(255)",
		Source:      int16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "VByte(255)",
		Target:      VByte(255),
		SourceLabel: "float32(255)",
		Source:      float32(255),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VByte(1)",
		Target:      VByte(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VByte(123)",
		Target:      VByte(123),
		SourceLabel: "VByte(123)",
		Source:      VByte(123),
	},
	{
		Label:       "Full",
		TargetLabel: "VByte(123)",
		Target:      VByte(123),
		SourceLabel: "uint16(123)",
		Source:      uint16(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VByte(226)",
		Target:      VByte(226),
		SourceLabel: "VByte(226)",
		Source:      VByte(226),
	},
	{
		Label:       "Random0",
		TargetLabel: "VByte(226)",
		Target:      VByte(226),
		SourceLabel: "VFloat64(226)",
		Source:      VFloat64(226),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VEnumAbc.A",
		Target:      VEnumAbcA,
		SourceLabel: "VEnumAbc.A",
		Source:      VEnumAbcA,
	},
	{
		Label:       "Zero",
		TargetLabel: "VEnumAbc.A",
		Target:      VEnumAbcA,
		SourceLabel: "\"A\"",
		Source:      "A",
	},
	{
		Label:       "Zero",
		TargetLabel: "VEnumAbc.A",
		Target:      VEnumAbcA,
		SourceLabel: "VString(\"A\")",
		Source:      VString("A"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VEnumAbc.B",
		Target:      VEnumAbcB,
		SourceLabel: "VEnumAbc.B",
		Source:      VEnumAbcB,
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.B",
		Target:      VEnumAbcB,
		SourceLabel: "\"B\"",
		Source:      "B",
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.B",
		Target:      VEnumAbcB,
		SourceLabel: "VString(\"B\")",
		Source:      VString("B"),
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.B",
		Target:      VEnumAbcB,
		SourceLabel: "VEnumBcd.B",
		Source:      VEnumBcdB,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VEnumAbc.C",
		Target:      VEnumAbcC,
		SourceLabel: "VEnumAbc.C",
		Source:      VEnumAbcC,
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.C",
		Target:      VEnumAbcC,
		SourceLabel: "\"C\"",
		Source:      "C",
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.C",
		Target:      VEnumAbcC,
		SourceLabel: "VString(\"C\")",
		Source:      VString("C"),
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumAbc.C",
		Target:      VEnumAbcC,
		SourceLabel: "VEnumBcd.C",
		Source:      VEnumBcdC,
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VEnumBcd.B",
		Target:      VEnumBcdB,
		SourceLabel: "VEnumBcd.B",
		Source:      VEnumBcdB,
	},
	{
		Label:       "Zero",
		TargetLabel: "VEnumBcd.B",
		Target:      VEnumBcdB,
		SourceLabel: "VEnumAbc.B",
		Source:      VEnumAbcB,
	},
	{
		Label:       "Zero",
		TargetLabel: "VEnumBcd.B",
		Target:      VEnumBcdB,
		SourceLabel: "VString(\"B\")",
		Source:      VString("B"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VEnumBcd.C",
		Target:      VEnumBcdC,
		SourceLabel: "VEnumBcd.C",
		Source:      VEnumBcdC,
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumBcd.C",
		Target:      VEnumBcdC,
		SourceLabel: "\"C\"",
		Source:      "C",
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumBcd.C",
		Target:      VEnumBcdC,
		SourceLabel: "VString(\"C\")",
		Source:      VString("C"),
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumBcd.C",
		Target:      VEnumBcdC,
		SourceLabel: "VEnumAbc.C",
		Source:      VEnumAbcC,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VEnumBcd.D",
		Target:      VEnumBcdD,
		SourceLabel: "VEnumBcd.D",
		Source:      VEnumBcdD,
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumBcd.D",
		Target:      VEnumBcdD,
		SourceLabel: "\"D\"",
		Source:      "D",
	},
	{
		Label:       "Full",
		TargetLabel: "VEnumBcd.D",
		Target:      VEnumBcdD,
		SourceLabel: "VString(\"D\")",
		Source:      VString("D"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructEmpty{}",
		Target:      VStructEmpty{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructEmpty{}",
		Target:      VStructEmpty{},
		SourceLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{}",
		Source:      VStructDepth3_OptVStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructEmpty{}",
		Target:      VStructEmpty{},
		SourceLabel: "VStructDepth3_List_VUnionDepth1_All{}",
		Source:      VStructDepth3_List_VUnionDepth1_All{},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VNamedError{}",
		Target:      VNamedError{},
		SourceLabel: "VNamedError{}",
		Source:      VNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VNamedError{}",
		Target:      VNamedError{},
		SourceLabel: "?VNamedError{}",
		Source:      &VNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VNamedError{}",
		Target:      VNamedError{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: &VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VNamedError{Msg: \"deΔΘΠΣΦ王普\"}",
		Target: VNamedError{
			Msg: "deΔΘΠΣΦ王普",
		},
		SourceLabel: "VNamedError{Msg: \"deΔΘΠΣΦ王普\"}",
		Source: VNamedError{
			Msg: "deΔΘΠΣΦ王普",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VNamedError{Msg: \"deΔΘΠΣΦ王普\"}",
		Target: VNamedError{
			Msg: "deΔΘΠΣΦ王普",
		},
		SourceLabel: "?VNamedError{Msg: \"deΔΘΠΣΦ王普\"}",
		Source: &VNamedError{
			Msg: "deΔΘΠΣΦ王普",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "error(nil)",
		Target:      (*verror.E)(nil),
		SourceLabel: "error(nil)",
		Source:      (*verror.E)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "error(nil)",
		Target:      (*verror.E)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "error(nil)",
		Target:      (*verror.E)(nil),
		SourceLabel: "?VNamedError(nil)",
		Source:      (*VNamedError)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "error(nil)",
		Target:      (*verror.E)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		}),
		SourceLabel: "error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "error{Id: \"cdeΔΘΠΣΦ王\", RetryCode: RetryRefetch, Msg: \"bcdeΔΘΠΣΦ\"}",
		Target: verror.FromWire(&vdl.WireError{
			Id:        "cdeΔΘΠΣΦ王",
			RetryCode: vdl.WireRetryCodeRetryRefetch,
			Msg:       "bcdeΔΘΠΣΦ",
		}),
		SourceLabel: "error{Id: \"cdeΔΘΠΣΦ王\", RetryCode: RetryRefetch, Msg: \"bcdeΔΘΠΣΦ\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:        "cdeΔΘΠΣΦ王",
			RetryCode: vdl.WireRetryCodeRetryRefetch,
			Msg:       "bcdeΔΘΠΣΦ",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "uint16(0)",
		Target:      uint16(0),
		SourceLabel: "uint16(0)",
		Source:      uint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint16(0)",
		Target:      uint16(0),
		SourceLabel: "VFloat64(0)",
		Source:      VFloat64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint16(0)",
		Target:      uint16(0),
		SourceLabel: "VFloat32(0)",
		Source:      VFloat32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "uint16(65535)",
		Source:      uint16(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "uint32(65535)",
		Source:      uint32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "uint64(65535)",
		Source:      uint64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "int32(65535)",
		Source:      int32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "int64(65535)",
		Source:      int64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "float32(65535)",
		Source:      float32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "float64(65535)",
		Source:      float64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "VUint64(65535)",
		Source:      VUint64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint16(65535)",
		Target:      uint16(65535),
		SourceLabel: "VInt64(65535)",
		Source:      VInt64(65535),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint16(1)",
		Target:      uint16(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "uint16(123)",
		Target:      uint16(123),
		SourceLabel: "uint16(123)",
		Source:      uint16(123),
	},
	{
		Label:       "Full",
		TargetLabel: "uint16(123)",
		Target:      uint16(123),
		SourceLabel: "VByte(123)",
		Source:      VByte(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "uint16(54037)",
		Target:      uint16(54037),
		SourceLabel: "uint16(54037)",
		Source:      uint16(54037),
	},
	{
		Label:       "Random0",
		TargetLabel: "uint16(54037)",
		Target:      uint16(54037),
		SourceLabel: "VFloat64(54037)",
		Source:      VFloat64(54037),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUint16(0)",
		Target:      VUint16(0),
		SourceLabel: "VUint16(0)",
		Source:      VUint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint16(0)",
		Target:      VUint16(0),
		SourceLabel: "float32(0)",
		Source:      float32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint16(0)",
		Target:      VUint16(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VUint16(65535)",
		Source:      VUint16(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VUint32(65535)",
		Source:      VUint32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VUint64(65535)",
		Source:      VUint64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VInt32(65535)",
		Source:      VInt32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VInt64(65535)",
		Source:      VInt64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VFloat32(65535)",
		Source:      VFloat32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "VFloat64(65535)",
		Source:      VFloat64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "uint64(65535)",
		Source:      uint64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint16(65535)",
		Target:      VUint16(65535),
		SourceLabel: "uint16(65535)",
		Source:      uint16(65535),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint16(1)",
		Target:      VUint16(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUint16(123)",
		Target:      VUint16(123),
		SourceLabel: "VUint16(123)",
		Source:      VUint16(123),
	},
	{
		Label:       "Full",
		TargetLabel: "VUint16(123)",
		Target:      VUint16(123),
		SourceLabel: "byte(123)",
		Source:      byte(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUint16(193)",
		Target:      VUint16(193),
		SourceLabel: "VUint16(193)",
		Source:      VUint16(193),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUint16(193)",
		Target:      VUint16(193),
		SourceLabel: "VInt64(193)",
		Source:      VInt64(193),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "uint32(0)",
		Target:      uint32(0),
		SourceLabel: "uint32(0)",
		Source:      uint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint32(0)",
		Target:      uint32(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint32(0)",
		Target:      uint32(0),
		SourceLabel: "float64(0)",
		Source:      float64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "uint32(4294967295)",
		Source:      uint32(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "uint64(4294967295)",
		Source:      uint64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "int64(4294967295)",
		Source:      int64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "float64(4.294967295e+09)",
		Source:      float64(4.294967295e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "VUint32(4294967295)",
		Source:      VUint32(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint32(4294967295)",
		Target:      uint32(4294967295),
		SourceLabel: "VUint64(4294967295)",
		Source:      VUint64(4294967295),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint32(1)",
		Target:      uint32(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "uint32(123)",
		Target:      uint32(123),
		SourceLabel: "uint32(123)",
		Source:      uint32(123),
	},
	{
		Label:       "Full",
		TargetLabel: "uint32(123)",
		Target:      uint32(123),
		SourceLabel: "float64(123)",
		Source:      float64(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "uint32(4113601333)",
		Target:      uint32(4113601333),
		SourceLabel: "uint32(4113601333)",
		Source:      uint32(4113601333),
	},
	{
		Label:       "Random0",
		TargetLabel: "uint32(4113601333)",
		Target:      uint32(4113601333),
		SourceLabel: "VInt64(4113601333)",
		Source:      VInt64(4113601333),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUint32(0)",
		Target:      VUint32(0),
		SourceLabel: "VUint32(0)",
		Source:      VUint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint32(0)",
		Target:      VUint32(0),
		SourceLabel: "uint16(0)",
		Source:      uint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint32(0)",
		Target:      VUint32(0),
		SourceLabel: "VInt8(0)",
		Source:      VInt8(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "VUint32(4294967295)",
		Source:      VUint32(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "VUint64(4294967295)",
		Source:      VUint64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "VInt64(4294967295)",
		Source:      VInt64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "VFloat64(4.294967295e+09)",
		Source:      VFloat64(4.294967295e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "uint64(4294967295)",
		Source:      uint64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint32(4294967295)",
		Target:      VUint32(4294967295),
		SourceLabel: "uint32(4294967295)",
		Source:      uint32(4294967295),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint32(1)",
		Target:      VUint32(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUint32(123)",
		Target:      VUint32(123),
		SourceLabel: "VUint32(123)",
		Source:      VUint32(123),
	},
	{
		Label:       "Full",
		TargetLabel: "VUint32(123)",
		Target:      VUint32(123),
		SourceLabel: "VInt64(123)",
		Source:      VInt64(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUint32(3350083602)",
		Target:      VUint32(3350083602),
		SourceLabel: "VUint32(3350083602)",
		Source:      VUint32(3350083602),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUint32(3350083602)",
		Target:      VUint32(3350083602),
		SourceLabel: "VUint64(3350083602)",
		Source:      VUint64(3350083602),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "uint64(0)",
		Target:      uint64(0),
		SourceLabel: "uint64(0)",
		Source:      uint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint64(0)",
		Target:      uint64(0),
		SourceLabel: "VUint64(0)",
		Source:      VUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "uint64(0)",
		Target:      uint64(0),
		SourceLabel: "VInt8(0)",
		Source:      VInt8(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "uint64(18446744073709551615)",
		Target:      uint64(18446744073709551615),
		SourceLabel: "uint64(18446744073709551615)",
		Source:      uint64(18446744073709551615),
	},
	{
		Label:       "+Max",
		TargetLabel: "uint64(18446744073709551615)",
		Target:      uint64(18446744073709551615),
		SourceLabel: "VUint64(18446744073709551615)",
		Source:      VUint64(18446744073709551615),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "uint64(1)",
		Target:      uint64(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "uint64(123)",
		Target:      uint64(123),
		SourceLabel: "uint64(123)",
		Source:      uint64(123),
	},
	{
		Label:       "Full",
		TargetLabel: "uint64(123)",
		Target:      uint64(123),
		SourceLabel: "uint32(123)",
		Source:      uint32(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "uint64(5873538069767632042)",
		Target:      uint64(5873538069767632042),
		SourceLabel: "uint64(5873538069767632042)",
		Source:      uint64(5873538069767632042),
	},
	{
		Label:       "Random0",
		TargetLabel: "uint64(5873538069767632042)",
		Target:      uint64(5873538069767632042),
		SourceLabel: "VInt64(5873538069767632042)",
		Source:      VInt64(5873538069767632042),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUint64(0)",
		Target:      VUint64(0),
		SourceLabel: "VUint64(0)",
		Source:      VUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint64(0)",
		Target:      VUint64(0),
		SourceLabel: "VFloat64(0)",
		Source:      VFloat64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUint64(0)",
		Target:      VUint64(0),
		SourceLabel: "VInt64(0)",
		Source:      VInt64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VUint64(18446744073709551615)",
		Target:      VUint64(18446744073709551615),
		SourceLabel: "VUint64(18446744073709551615)",
		Source:      VUint64(18446744073709551615),
	},
	{
		Label:       "+Max",
		TargetLabel: "VUint64(18446744073709551615)",
		Target:      VUint64(18446744073709551615),
		SourceLabel: "uint64(18446744073709551615)",
		Source:      uint64(18446744073709551615),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VUint64(1)",
		Target:      VUint64(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUint64(123)",
		Target:      VUint64(123),
		SourceLabel: "VUint64(123)",
		Source:      VUint64(123),
	},
	{
		Label:       "Full",
		TargetLabel: "VUint64(123)",
		Target:      VUint64(123),
		SourceLabel: "VFloat32(123)",
		Source:      VFloat32(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUint64(11715517065073666003)",
		Target:      VUint64(11715517065073666003),
		SourceLabel: "VUint64(11715517065073666003)",
		Source:      VUint64(11715517065073666003),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUint64(11715517065073666003)",
		Target:      VUint64(11715517065073666003),
		SourceLabel: "uint64(11715517065073666003)",
		Source:      uint64(11715517065073666003),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "int8(0)",
		Target:      int8(0),
		SourceLabel: "int8(0)",
		Source:      int8(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int8(0)",
		Target:      int8(0),
		SourceLabel: "VUint32(0)",
		Source:      VUint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int8(0)",
		Target:      int8(0),
		SourceLabel: "VFloat64(0)",
		Source:      VFloat64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "int8(127)",
		Source:      int8(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "byte(127)",
		Source:      byte(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "uint16(127)",
		Source:      uint16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "uint32(127)",
		Source:      uint32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "uint64(127)",
		Source:      uint64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "int16(127)",
		Source:      int16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "int32(127)",
		Source:      int32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "int64(127)",
		Source:      int64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "float32(127)",
		Source:      float32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "float64(127)",
		Source:      float64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "VInt64(127)",
		Source:      VInt64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "int8(127)",
		Target:      int8(127),
		SourceLabel: "VFloat32(127)",
		Source:      VFloat32(127),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int8(1)",
		Target:      int8(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "int8(-128)",
		Source:      int8(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "int16(-128)",
		Source:      int16(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "int32(-128)",
		Source:      int32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "int64(-128)",
		Source:      int64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "float32(-128)",
		Source:      float32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "float64(-128)",
		Source:      float64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "VInt8(-128)",
		Source:      VInt8(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "int8(-128)",
		Target:      int8(-128),
		SourceLabel: "VInt64(-128)",
		Source:      VInt64(-128),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "float64(-1)",
		Source:      float64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "VInt16(-1)",
		Source:      VInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int8(-1)",
		Target:      int8(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "int8(-123)",
		Target:      int8(-123),
		SourceLabel: "int8(-123)",
		Source:      int8(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "int8(-123)",
		Target:      int8(-123),
		SourceLabel: "VInt32(-123)",
		Source:      VInt32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "int8(10)",
		Target:      int8(10),
		SourceLabel: "int8(10)",
		Source:      int8(10),
	},
	{
		Label:       "Random0",
		TargetLabel: "int8(10)",
		Target:      int8(10),
		SourceLabel: "float32(10)",
		Source:      float32(10),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VInt8(0)",
		Target:      VInt8(0),
		SourceLabel: "VInt8(0)",
		Source:      VInt8(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt8(0)",
		Target:      VInt8(0),
		SourceLabel: "VInt16(0)",
		Source:      VInt16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt8(0)",
		Target:      VInt8(0),
		SourceLabel: "int8(0)",
		Source:      int8(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VInt8(127)",
		Source:      VInt8(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VByte(127)",
		Source:      VByte(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VUint16(127)",
		Source:      VUint16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VUint32(127)",
		Source:      VUint32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VUint64(127)",
		Source:      VUint64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VInt16(127)",
		Source:      VInt16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VInt32(127)",
		Source:      VInt32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VInt64(127)",
		Source:      VInt64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VFloat32(127)",
		Source:      VFloat32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "VFloat64(127)",
		Source:      VFloat64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "uint32(127)",
		Source:      uint32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt8(127)",
		Target:      VInt8(127),
		SourceLabel: "float64(127)",
		Source:      float64(127),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt8(1)",
		Target:      VInt8(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VInt8(-128)",
		Source:      VInt8(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VInt16(-128)",
		Source:      VInt16(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VInt32(-128)",
		Source:      VInt32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VInt64(-128)",
		Source:      VInt64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VFloat32(-128)",
		Source:      VFloat32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "VFloat64(-128)",
		Source:      VFloat64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "int16(-128)",
		Source:      int16(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt8(-128)",
		Target:      VInt8(-128),
		SourceLabel: "float64(-128)",
		Source:      float64(-128),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VInt16(-1)",
		Source:      VInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VInt32(-1)",
		Source:      VInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VInt64(-1)",
		Source:      VInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "VFloat64(-1)",
		Source:      VFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt8(-1)",
		Target:      VInt8(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VInt8(-123)",
		Target:      VInt8(-123),
		SourceLabel: "VInt8(-123)",
		Source:      VInt8(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "VInt8(-123)",
		Target:      VInt8(-123),
		SourceLabel: "int8(-123)",
		Source:      int8(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VInt8(2)",
		Target:      VInt8(2),
		SourceLabel: "VInt8(2)",
		Source:      VInt8(2),
	},
	{
		Label:       "Random0",
		TargetLabel: "VInt8(2)",
		Target:      VInt8(2),
		SourceLabel: "VUint32(2)",
		Source:      VUint32(2),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "int16(0)",
		Target:      int16(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int16(0)",
		Target:      int16(0),
		SourceLabel: "int32(0)",
		Source:      int32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int16(0)",
		Target:      int16(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "int16(32767)",
		Source:      int16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "uint16(32767)",
		Source:      uint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "uint32(32767)",
		Source:      uint32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "uint64(32767)",
		Source:      uint64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "int32(32767)",
		Source:      int32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "int64(32767)",
		Source:      int64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "float32(32767)",
		Source:      float32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "float64(32767)",
		Source:      float64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "VUint16(32767)",
		Source:      VUint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "int16(32767)",
		Target:      int16(32767),
		SourceLabel: "VFloat64(32767)",
		Source:      VFloat64(32767),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int16(1)",
		Target:      int16(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "int16(-32768)",
		Source:      int16(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "int32(-32768)",
		Source:      int32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "int64(-32768)",
		Source:      int64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "float32(-32768)",
		Source:      float32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "float64(-32768)",
		Source:      float64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "VInt64(-32768)",
		Source:      VInt64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "int16(-32768)",
		Target:      int16(-32768),
		SourceLabel: "VFloat64(-32768)",
		Source:      VFloat64(-32768),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "float64(-1)",
		Source:      float64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "VFloat64(-1)",
		Source:      VFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int16(-1)",
		Target:      int16(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "int16(-123)",
		Target:      int16(-123),
		SourceLabel: "int16(-123)",
		Source:      int16(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "int16(-123)",
		Target:      int16(-123),
		SourceLabel: "float32(-123)",
		Source:      float32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "int16(-6252)",
		Target:      int16(-6252),
		SourceLabel: "int16(-6252)",
		Source:      int16(-6252),
	},
	{
		Label:       "Random0",
		TargetLabel: "int16(-6252)",
		Target:      int16(-6252),
		SourceLabel: "float64(-6252)",
		Source:      float64(-6252),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VInt16(0)",
		Target:      VInt16(0),
		SourceLabel: "VInt16(0)",
		Source:      VInt16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt16(0)",
		Target:      VInt16(0),
		SourceLabel: "VInt32(0)",
		Source:      VInt32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt16(0)",
		Target:      VInt16(0),
		SourceLabel: "VFloat64(0)",
		Source:      VFloat64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VInt16(32767)",
		Source:      VInt16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VUint16(32767)",
		Source:      VUint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VUint32(32767)",
		Source:      VUint32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VUint64(32767)",
		Source:      VUint64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VInt32(32767)",
		Source:      VInt32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VInt64(32767)",
		Source:      VInt64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VFloat32(32767)",
		Source:      VFloat32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "VFloat64(32767)",
		Source:      VFloat64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "uint16(32767)",
		Source:      uint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt16(32767)",
		Target:      VInt16(32767),
		SourceLabel: "float64(32767)",
		Source:      float64(32767),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt16(1)",
		Target:      VInt16(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "VInt16(-32768)",
		Source:      VInt16(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "VInt32(-32768)",
		Source:      VInt32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "VInt64(-32768)",
		Source:      VInt64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "VFloat32(-32768)",
		Source:      VFloat32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "VFloat64(-32768)",
		Source:      VFloat64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "int16(-32768)",
		Source:      int16(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt16(-32768)",
		Target:      VInt16(-32768),
		SourceLabel: "int32(-32768)",
		Source:      int32(-32768),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VInt16(-1)",
		Source:      VInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VInt32(-1)",
		Source:      VInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VInt64(-1)",
		Source:      VInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "VFloat64(-1)",
		Source:      VFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt16(-1)",
		Target:      VInt16(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VInt16(-123)",
		Target:      VInt16(-123),
		SourceLabel: "VInt16(-123)",
		Source:      VInt16(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "VInt16(-123)",
		Target:      VInt16(-123),
		SourceLabel: "int32(-123)",
		Source:      int32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VInt16(-10170)",
		Target:      VInt16(-10170),
		SourceLabel: "VInt16(-10170)",
		Source:      VInt16(-10170),
	},
	{
		Label:       "Random0",
		TargetLabel: "VInt16(-10170)",
		Target:      VInt16(-10170),
		SourceLabel: "VInt64(-10170)",
		Source:      VInt64(-10170),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "int32(0)",
		Target:      int32(0),
		SourceLabel: "int32(0)",
		Source:      int32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int32(0)",
		Target:      int32(0),
		SourceLabel: "VInt64(0)",
		Source:      VInt64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int32(0)",
		Target:      int32(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "int32(2147483647)",
		Source:      int32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "uint32(2147483647)",
		Source:      uint32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "uint64(2147483647)",
		Source:      uint64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "int64(2147483647)",
		Source:      int64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "float64(2.147483647e+09)",
		Source:      float64(2.147483647e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "VUint64(2147483647)",
		Source:      VUint64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "int32(2147483647)",
		Target:      int32(2147483647),
		SourceLabel: "VUint32(2147483647)",
		Source:      VUint32(2147483647),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int32(1)",
		Target:      int32(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "int32(-2147483648)",
		Target:      int32(-2147483648),
		SourceLabel: "int32(-2147483648)",
		Source:      int32(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "int32(-2147483648)",
		Target:      int32(-2147483648),
		SourceLabel: "int64(-2147483648)",
		Source:      int64(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "int32(-2147483648)",
		Target:      int32(-2147483648),
		SourceLabel: "float64(-2.147483648e+09)",
		Source:      float64(-2.147483648e+09),
	},
	{
		Label:       "-Max",
		TargetLabel: "int32(-2147483648)",
		Target:      int32(-2147483648),
		SourceLabel: "VFloat64(-2.147483648e+09)",
		Source:      VFloat64(-2.147483648e+09),
	},
	{
		Label:       "-Max",
		TargetLabel: "int32(-2147483648)",
		Target:      int32(-2147483648),
		SourceLabel: "VInt64(-2147483648)",
		Source:      VInt64(-2147483648),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "float64(-1)",
		Source:      float64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int32(-1)",
		Target:      int32(-1),
		SourceLabel: "VInt32(-1)",
		Source:      VInt32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "int32(-123)",
		Target:      int32(-123),
		SourceLabel: "int32(-123)",
		Source:      int32(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "int32(-123)",
		Target:      int32(-123),
		SourceLabel: "VInt8(-123)",
		Source:      VInt8(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "int32(-973182629)",
		Target:      int32(-973182629),
		SourceLabel: "int32(-973182629)",
		Source:      int32(-973182629),
	},
	{
		Label:       "Random0",
		TargetLabel: "int32(-973182629)",
		Target:      int32(-973182629),
		SourceLabel: "float64(-9.73182629e+08)",
		Source:      float64(-9.73182629e+08),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VInt32(0)",
		Target:      VInt32(0),
		SourceLabel: "VInt32(0)",
		Source:      VInt32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt32(0)",
		Target:      VInt32(0),
		SourceLabel: "VUint64(0)",
		Source:      VUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt32(0)",
		Target:      VInt32(0),
		SourceLabel: "VInt64(0)",
		Source:      VInt64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "VInt32(2147483647)",
		Source:      VInt32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "VUint32(2147483647)",
		Source:      VUint32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "VUint64(2147483647)",
		Source:      VUint64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "VInt64(2147483647)",
		Source:      VInt64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "VFloat64(2.147483647e+09)",
		Source:      VFloat64(2.147483647e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "int32(2147483647)",
		Source:      int32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt32(2147483647)",
		Target:      VInt32(2147483647),
		SourceLabel: "int64(2147483647)",
		Source:      int64(2147483647),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt32(1)",
		Target:      VInt32(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VInt32(-2147483648)",
		Target:      VInt32(-2147483648),
		SourceLabel: "VInt32(-2147483648)",
		Source:      VInt32(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt32(-2147483648)",
		Target:      VInt32(-2147483648),
		SourceLabel: "VInt64(-2147483648)",
		Source:      VInt64(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt32(-2147483648)",
		Target:      VInt32(-2147483648),
		SourceLabel: "VFloat64(-2.147483648e+09)",
		Source:      VFloat64(-2.147483648e+09),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt32(-2147483648)",
		Target:      VInt32(-2147483648),
		SourceLabel: "int32(-2147483648)",
		Source:      int32(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt32(-2147483648)",
		Target:      VInt32(-2147483648),
		SourceLabel: "float64(-2.147483648e+09)",
		Source:      float64(-2.147483648e+09),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VInt32(-1)",
		Source:      VInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VInt16(-1)",
		Source:      VInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VInt64(-1)",
		Source:      VInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "VFloat64(-1)",
		Source:      VFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt32(-1)",
		Target:      VInt32(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VInt32(-123)",
		Target:      VInt32(-123),
		SourceLabel: "VInt32(-123)",
		Source:      VInt32(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "VInt32(-123)",
		Target:      VInt32(-123),
		SourceLabel: "int8(-123)",
		Source:      int8(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VInt32(441146945)",
		Target:      VInt32(441146945),
		SourceLabel: "VInt32(441146945)",
		Source:      VInt32(441146945),
	},
	{
		Label:       "Random0",
		TargetLabel: "VInt32(441146945)",
		Target:      VInt32(441146945),
		SourceLabel: "float64(4.41146945e+08)",
		Source:      float64(4.41146945e+08),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "int64(0)",
		Target:      int64(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int64(0)",
		Target:      int64(0),
		SourceLabel: "uint16(0)",
		Source:      uint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "int64(0)",
		Target:      int64(0),
		SourceLabel: "int32(0)",
		Source:      int32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "int64(9223372036854775807)",
		Target:      int64(9223372036854775807),
		SourceLabel: "int64(9223372036854775807)",
		Source:      int64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "int64(9223372036854775807)",
		Target:      int64(9223372036854775807),
		SourceLabel: "uint64(9223372036854775807)",
		Source:      uint64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "int64(9223372036854775807)",
		Target:      int64(9223372036854775807),
		SourceLabel: "VInt64(9223372036854775807)",
		Source:      VInt64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "int64(9223372036854775807)",
		Target:      int64(9223372036854775807),
		SourceLabel: "VUint64(9223372036854775807)",
		Source:      VUint64(9223372036854775807),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "int8(1)",
		Source:      int8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "int64(1)",
		Target:      int64(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "int64(-9223372036854775808)",
		Target:      int64(-9223372036854775808),
		SourceLabel: "int64(-9223372036854775808)",
		Source:      int64(-9223372036854775808),
	},
	{
		Label:       "-Max",
		TargetLabel: "int64(-9223372036854775808)",
		Target:      int64(-9223372036854775808),
		SourceLabel: "VInt64(-9223372036854775808)",
		Source:      VInt64(-9223372036854775808),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "float64(-1)",
		Source:      float64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "VInt64(-1)",
		Source:      VInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "int64(-1)",
		Target:      int64(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "int64(-123)",
		Target:      int64(-123),
		SourceLabel: "int64(-123)",
		Source:      int64(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "int64(-123)",
		Target:      int64(-123),
		SourceLabel: "int8(-123)",
		Source:      int8(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "int64(1542542331044763799)",
		Target:      int64(1542542331044763799),
		SourceLabel: "int64(1542542331044763799)",
		Source:      int64(1542542331044763799),
	},
	{
		Label:       "Random0",
		TargetLabel: "int64(1542542331044763799)",
		Target:      int64(1542542331044763799),
		SourceLabel: "VUint64(1542542331044763799)",
		Source:      VUint64(1542542331044763799),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VInt64(0)",
		Target:      VInt64(0),
		SourceLabel: "VInt64(0)",
		Source:      VInt64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt64(0)",
		Target:      VInt64(0),
		SourceLabel: "uint32(0)",
		Source:      uint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VInt64(0)",
		Target:      VInt64(0),
		SourceLabel: "uint16(0)",
		Source:      uint16(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VInt64(9223372036854775807)",
		Target:      VInt64(9223372036854775807),
		SourceLabel: "VInt64(9223372036854775807)",
		Source:      VInt64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt64(9223372036854775807)",
		Target:      VInt64(9223372036854775807),
		SourceLabel: "VUint64(9223372036854775807)",
		Source:      VUint64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt64(9223372036854775807)",
		Target:      VInt64(9223372036854775807),
		SourceLabel: "int64(9223372036854775807)",
		Source:      int64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "VInt64(9223372036854775807)",
		Target:      VInt64(9223372036854775807),
		SourceLabel: "uint64(9223372036854775807)",
		Source:      uint64(9223372036854775807),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VInt64(1)",
		Source:      VInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VByte(1)",
		Source:      VByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VUint16(1)",
		Source:      VUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VUint32(1)",
		Source:      VUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VUint64(1)",
		Source:      VUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VInt8(1)",
		Source:      VInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VInt16(1)",
		Source:      VInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VInt32(1)",
		Source:      VInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VFloat32(1)",
		Source:      VFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "VFloat64(1)",
		Source:      VFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "VInt64(1)",
		Target:      VInt64(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VInt64(-9223372036854775808)",
		Target:      VInt64(-9223372036854775808),
		SourceLabel: "VInt64(-9223372036854775808)",
		Source:      VInt64(-9223372036854775808),
	},
	{
		Label:       "-Max",
		TargetLabel: "VInt64(-9223372036854775808)",
		Target:      VInt64(-9223372036854775808),
		SourceLabel: "int64(-9223372036854775808)",
		Source:      int64(-9223372036854775808),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VInt64(-1)",
		Source:      VInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VInt8(-1)",
		Source:      VInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VInt16(-1)",
		Source:      VInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VInt32(-1)",
		Source:      VInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VFloat32(-1)",
		Source:      VFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "VFloat64(-1)",
		Source:      VFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "VInt64(-1)",
		Target:      VInt64(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VInt64(-123)",
		Target:      VInt64(-123),
		SourceLabel: "VInt64(-123)",
		Source:      VInt64(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "VInt64(-123)",
		Target:      VInt64(-123),
		SourceLabel: "int32(-123)",
		Source:      int32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VInt64(3542515422864227393)",
		Target:      VInt64(3542515422864227393),
		SourceLabel: "VInt64(3542515422864227393)",
		Source:      VInt64(3542515422864227393),
	},
	{
		Label:       "Random0",
		TargetLabel: "VInt64(3542515422864227393)",
		Target:      VInt64(3542515422864227393),
		SourceLabel: "uint64(3542515422864227393)",
		Source:      uint64(3542515422864227393),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "float32(0)",
		Target:      float32(0),
		SourceLabel: "float32(0)",
		Source:      float32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "float32(0)",
		Target:      float32(0),
		SourceLabel: "VInt16(0)",
		Source:      VInt16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "float32(0)",
		Target:      float32(0),
		SourceLabel: "VUint64(0)",
		Source:      VUint64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "float32(1.7014117e+38)",
		Target:      float32(1.7014117e+38),
		SourceLabel: "float32(1.7014117e+38)",
		Source:      float32(1.7014117e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "float32(1.7014117e+38)",
		Target:      float32(1.7014117e+38),
		SourceLabel: "float64(1.7014117331926443e+38)",
		Source:      float64(1.7014117331926443e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "float32(1.7014117e+38)",
		Target:      float32(1.7014117e+38),
		SourceLabel: "VFloat32(1.7014117e+38)",
		Source:      VFloat32(1.7014117e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "float32(1.7014117e+38)",
		Target:      float32(1.7014117e+38),
		SourceLabel: "VFloat64(1.7014117331926443e+38)",
		Source:      VFloat64(1.7014117331926443e+38),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "float32(1.4e-44)",
		Target:      float32(1.4e-44),
		SourceLabel: "float32(1.4e-44)",
		Source:      float32(1.4e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "float32(1.4e-44)",
		Target:      float32(1.4e-44),
		SourceLabel: "float64(1.401298464324817e-44)",
		Source:      float64(1.401298464324817e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "float32(1.4e-44)",
		Target:      float32(1.4e-44),
		SourceLabel: "VFloat64(1.401298464324817e-44)",
		Source:      VFloat64(1.401298464324817e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "float32(1.4e-44)",
		Target:      float32(1.4e-44),
		SourceLabel: "VFloat32(1.4e-44)",
		Source:      VFloat32(1.4e-44),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "float32(-1.7014117e+38)",
		Target:      float32(-1.7014117e+38),
		SourceLabel: "float32(-1.7014117e+38)",
		Source:      float32(-1.7014117e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "float32(-1.7014117e+38)",
		Target:      float32(-1.7014117e+38),
		SourceLabel: "float64(-1.7014117331926443e+38)",
		Source:      float64(-1.7014117331926443e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "float32(-1.7014117e+38)",
		Target:      float32(-1.7014117e+38),
		SourceLabel: "VFloat64(-1.7014117331926443e+38)",
		Source:      VFloat64(-1.7014117331926443e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "float32(-1.7014117e+38)",
		Target:      float32(-1.7014117e+38),
		SourceLabel: "VFloat32(-1.7014117e+38)",
		Source:      VFloat32(-1.7014117e+38),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "float32(-1.4e-44)",
		Target:      float32(-1.4e-44),
		SourceLabel: "float32(-1.4e-44)",
		Source:      float32(-1.4e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "float32(-1.4e-44)",
		Target:      float32(-1.4e-44),
		SourceLabel: "float64(-1.401298464324817e-44)",
		Source:      float64(-1.401298464324817e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "float32(-1.4e-44)",
		Target:      float32(-1.4e-44),
		SourceLabel: "VFloat64(-1.401298464324817e-44)",
		Source:      VFloat64(-1.401298464324817e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "float32(-1.4e-44)",
		Target:      float32(-1.4e-44),
		SourceLabel: "VFloat32(-1.4e-44)",
		Source:      VFloat32(-1.4e-44),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "float32(1.5)",
		Target:      float32(1.5),
		SourceLabel: "float32(1.5)",
		Source:      float32(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "float32(1.5)",
		Target:      float32(1.5),
		SourceLabel: "VFloat64(1.5)",
		Source:      VFloat64(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "float32(1.3185673e+09)",
		Target:      float32(1.3185673e+09),
		SourceLabel: "float32(1.3185673e+09)",
		Source:      float32(1.3185673e+09),
	},
	{
		Label:       "Random0",
		TargetLabel: "float32(1.3185673e+09)",
		Target:      float32(1.3185673e+09),
		SourceLabel: "VFloat32(1.3185673e+09)",
		Source:      VFloat32(1.3185673e+09),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VFloat32(0)",
		Target:      VFloat32(0),
		SourceLabel: "VFloat32(0)",
		Source:      VFloat32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VFloat32(0)",
		Target:      VFloat32(0),
		SourceLabel: "VByte(0)",
		Source:      VByte(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VFloat32(0)",
		Target:      VFloat32(0),
		SourceLabel: "byte(0)",
		Source:      byte(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VFloat32(1.7014117e+38)",
		Target:      VFloat32(1.7014117e+38),
		SourceLabel: "VFloat32(1.7014117e+38)",
		Source:      VFloat32(1.7014117e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "VFloat32(1.7014117e+38)",
		Target:      VFloat32(1.7014117e+38),
		SourceLabel: "VFloat64(1.7014117331926443e+38)",
		Source:      VFloat64(1.7014117331926443e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "VFloat32(1.7014117e+38)",
		Target:      VFloat32(1.7014117e+38),
		SourceLabel: "float64(1.7014117331926443e+38)",
		Source:      float64(1.7014117331926443e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "VFloat32(1.7014117e+38)",
		Target:      VFloat32(1.7014117e+38),
		SourceLabel: "float32(1.7014117e+38)",
		Source:      float32(1.7014117e+38),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VFloat32(1.4e-44)",
		Target:      VFloat32(1.4e-44),
		SourceLabel: "VFloat32(1.4e-44)",
		Source:      VFloat32(1.4e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "VFloat32(1.4e-44)",
		Target:      VFloat32(1.4e-44),
		SourceLabel: "VFloat64(1.401298464324817e-44)",
		Source:      VFloat64(1.401298464324817e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "VFloat32(1.4e-44)",
		Target:      VFloat32(1.4e-44),
		SourceLabel: "float32(1.4e-44)",
		Source:      float32(1.4e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "VFloat32(1.4e-44)",
		Target:      VFloat32(1.4e-44),
		SourceLabel: "float64(1.401298464324817e-44)",
		Source:      float64(1.401298464324817e-44),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VFloat32(-1.7014117e+38)",
		Target:      VFloat32(-1.7014117e+38),
		SourceLabel: "VFloat32(-1.7014117e+38)",
		Source:      VFloat32(-1.7014117e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "VFloat32(-1.7014117e+38)",
		Target:      VFloat32(-1.7014117e+38),
		SourceLabel: "VFloat64(-1.7014117331926443e+38)",
		Source:      VFloat64(-1.7014117331926443e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "VFloat32(-1.7014117e+38)",
		Target:      VFloat32(-1.7014117e+38),
		SourceLabel: "float32(-1.7014117e+38)",
		Source:      float32(-1.7014117e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "VFloat32(-1.7014117e+38)",
		Target:      VFloat32(-1.7014117e+38),
		SourceLabel: "float64(-1.7014117331926443e+38)",
		Source:      float64(-1.7014117331926443e+38),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VFloat32(-1.4e-44)",
		Target:      VFloat32(-1.4e-44),
		SourceLabel: "VFloat32(-1.4e-44)",
		Source:      VFloat32(-1.4e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "VFloat32(-1.4e-44)",
		Target:      VFloat32(-1.4e-44),
		SourceLabel: "VFloat64(-1.401298464324817e-44)",
		Source:      VFloat64(-1.401298464324817e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "VFloat32(-1.4e-44)",
		Target:      VFloat32(-1.4e-44),
		SourceLabel: "float32(-1.4e-44)",
		Source:      float32(-1.4e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "VFloat32(-1.4e-44)",
		Target:      VFloat32(-1.4e-44),
		SourceLabel: "float64(-1.401298464324817e-44)",
		Source:      float64(-1.401298464324817e-44),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VFloat32(1.5)",
		Target:      VFloat32(1.5),
		SourceLabel: "VFloat32(1.5)",
		Source:      VFloat32(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "VFloat32(1.5)",
		Target:      VFloat32(1.5),
		SourceLabel: "float64(1.5)",
		Source:      float64(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VFloat32(1.0164244e+09)",
		Target:      VFloat32(1.0164244e+09),
		SourceLabel: "VFloat32(1.0164244e+09)",
		Source:      VFloat32(1.0164244e+09),
	},
	{
		Label:       "Random0",
		TargetLabel: "VFloat32(1.0164244e+09)",
		Target:      VFloat32(1.0164244e+09),
		SourceLabel: "float64(1.01642440139642e+09)",
		Source:      float64(1.01642440139642e+09),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "float64(0)",
		Target:      float64(0),
		SourceLabel: "float64(0)",
		Source:      float64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "float64(0)",
		Target:      float64(0),
		SourceLabel: "VInt16(0)",
		Source:      VInt16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "float64(0)",
		Target:      float64(0),
		SourceLabel: "int32(0)",
		Source:      int32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "float64(8.988465674311579e+307)",
		Target:      float64(8.988465674311579e+307),
		SourceLabel: "float64(8.988465674311579e+307)",
		Source:      float64(8.988465674311579e+307),
	},
	{
		Label:       "+Max",
		TargetLabel: "float64(8.988465674311579e+307)",
		Target:      float64(8.988465674311579e+307),
		SourceLabel: "VFloat64(8.988465674311579e+307)",
		Source:      VFloat64(8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "float64(5e-323)",
		Target:      float64(5e-323),
		SourceLabel: "float64(5e-323)",
		Source:      float64(5e-323),
	},
	{
		Label:       "+Min",
		TargetLabel: "float64(5e-323)",
		Target:      float64(5e-323),
		SourceLabel: "VFloat64(5e-323)",
		Source:      VFloat64(5e-323),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "float64(-8.988465674311579e+307)",
		Target:      float64(-8.988465674311579e+307),
		SourceLabel: "float64(-8.988465674311579e+307)",
		Source:      float64(-8.988465674311579e+307),
	},
	{
		Label:       "-Max",
		TargetLabel: "float64(-8.988465674311579e+307)",
		Target:      float64(-8.988465674311579e+307),
		SourceLabel: "VFloat64(-8.988465674311579e+307)",
		Source:      VFloat64(-8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "float64(-5e-323)",
		Target:      float64(-5e-323),
		SourceLabel: "float64(-5e-323)",
		Source:      float64(-5e-323),
	},
	{
		Label:       "-Min",
		TargetLabel: "float64(-5e-323)",
		Target:      float64(-5e-323),
		SourceLabel: "VFloat64(-5e-323)",
		Source:      VFloat64(-5e-323),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "float64(1.5)",
		Target:      float64(1.5),
		SourceLabel: "float64(1.5)",
		Source:      float64(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "float64(1.5)",
		Target:      float64(1.5),
		SourceLabel: "float32(1.5)",
		Source:      float32(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "float64(1.1826122719122012e+09)",
		Target:      float64(1.1826122719122012e+09),
		SourceLabel: "float64(1.1826122719122012e+09)",
		Source:      float64(1.1826122719122012e+09),
	},
	{
		Label:       "Random0",
		TargetLabel: "float64(1.1826122719122012e+09)",
		Target:      float64(1.1826122719122012e+09),
		SourceLabel: "VFloat64(1.1826122719122012e+09)",
		Source:      VFloat64(1.1826122719122012e+09),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VFloat64(0)",
		Target:      VFloat64(0),
		SourceLabel: "VFloat64(0)",
		Source:      VFloat64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VFloat64(0)",
		Target:      VFloat64(0),
		SourceLabel: "VInt32(0)",
		Source:      VInt32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "VFloat64(0)",
		Target:      VFloat64(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "VFloat64(8.988465674311579e+307)",
		Target:      VFloat64(8.988465674311579e+307),
		SourceLabel: "VFloat64(8.988465674311579e+307)",
		Source:      VFloat64(8.988465674311579e+307),
	},
	{
		Label:       "+Max",
		TargetLabel: "VFloat64(8.988465674311579e+307)",
		Target:      VFloat64(8.988465674311579e+307),
		SourceLabel: "float64(8.988465674311579e+307)",
		Source:      float64(8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "VFloat64(5e-323)",
		Target:      VFloat64(5e-323),
		SourceLabel: "VFloat64(5e-323)",
		Source:      VFloat64(5e-323),
	},
	{
		Label:       "+Min",
		TargetLabel: "VFloat64(5e-323)",
		Target:      VFloat64(5e-323),
		SourceLabel: "float64(5e-323)",
		Source:      float64(5e-323),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "VFloat64(-8.988465674311579e+307)",
		Target:      VFloat64(-8.988465674311579e+307),
		SourceLabel: "VFloat64(-8.988465674311579e+307)",
		Source:      VFloat64(-8.988465674311579e+307),
	},
	{
		Label:       "-Max",
		TargetLabel: "VFloat64(-8.988465674311579e+307)",
		Target:      VFloat64(-8.988465674311579e+307),
		SourceLabel: "float64(-8.988465674311579e+307)",
		Source:      float64(-8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "VFloat64(-5e-323)",
		Target:      VFloat64(-5e-323),
		SourceLabel: "VFloat64(-5e-323)",
		Source:      VFloat64(-5e-323),
	},
	{
		Label:       "-Min",
		TargetLabel: "VFloat64(-5e-323)",
		Target:      VFloat64(-5e-323),
		SourceLabel: "float64(-5e-323)",
		Source:      float64(-5e-323),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VFloat64(1.5)",
		Target:      VFloat64(1.5),
		SourceLabel: "VFloat64(1.5)",
		Source:      VFloat64(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "VFloat64(1.5)",
		Target:      VFloat64(1.5),
		SourceLabel: "VFloat32(1.5)",
		Source:      VFloat32(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VFloat64(1.995725716834609e+08)",
		Target:      VFloat64(1.995725716834609e+08),
		SourceLabel: "VFloat64(1.995725716834609e+08)",
		Source:      VFloat64(1.995725716834609e+08),
	},
	{
		Label:       "Random0",
		TargetLabel: "VFloat64(1.995725716834609e+08)",
		Target:      VFloat64(1.995725716834609e+08),
		SourceLabel: "float64(1.995725716834609e+08)",
		Source:      float64(1.995725716834609e+08),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructEmpty(nil)",
		Target:      (*VStructEmpty)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructEmpty(nil)",
		Target:      (*VStructEmpty)(nil),
		SourceLabel: "?VStructDepth1_VUint16(nil)",
		Source:      (*VStructDepth1_VUint16)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructEmpty(nil)",
		Target:      (*VStructEmpty)(nil),
		SourceLabel: "?VStructDepth2_Set_Float64(nil)",
		Source:      (*VStructDepth2_Set_Float64)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructEmpty(nil)",
		Target:      (*VStructEmpty)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructEmpty{}",
		Target:      &VStructEmpty{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructEmpty{}",
		Target:      &VStructEmpty{},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{}",
		Source:      VStructDepth2_OptVStructDepth1_VEnumBcd{},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VNamedError(nil)",
		Target:      (*VNamedError)(nil),
		SourceLabel: "?VNamedError(nil)",
		Source:      (*VNamedError)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VNamedError(nil)",
		Target:      (*VNamedError)(nil),
		SourceLabel: "error(nil)",
		Source:      (*verror.E)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VNamedError(nil)",
		Target:      (*VNamedError)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VNamedError(nil)",
		Target:      (*VNamedError)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: &VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: &VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: &VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?VNamedError{Id: \"eΔΘΠΣΦ\", Msg: \"cdeΔΘΠΣΦ王普澤世界\"}",
		Target: &VNamedError{
			Id:  "eΔΘΠΣΦ",
			Msg: "cdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "?VNamedError{Id: \"eΔΘΠΣΦ\", Msg: \"cdeΔΘΠΣΦ王普澤世界\"}",
		Source: &VNamedError{
			Id:  "eΔΘΠΣΦ",
			Msg: "cdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?VNamedError{Id: \"eΔΘΠΣΦ\", Msg: \"cdeΔΘΠΣΦ王普澤世界\"}",
		Target: &VNamedError{
			Id:  "eΔΘΠΣΦ",
			Msg: "cdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "error{Id: \"eΔΘΠΣΦ\", Msg: \"cdeΔΘΠΣΦ王普澤世界\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:  "eΔΘΠΣΦ",
			Msg: "cdeΔΘΠΣΦ王普澤世界",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_Any{}",
		Target:      VArray3_Any{},
		SourceLabel: "VArray3_Any{}",
		Source:      VArray3_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Any{}",
		Target:      VArray3_Any{},
		SourceLabel: "[]any{nil, nil, nil}",
		Source: []interface{}{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Any{}",
		Target:      VArray3_Any{},
		SourceLabel: "VList_Any{nil, nil, nil}",
		Source: VList_Any{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Target: VArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
		SourceLabel: "VArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Source: VArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Target: VArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
		SourceLabel: "[]any{int64(-123), int64(-123), int64(-123)}",
		Source: []interface{}{
			int64(-123),
			int64(-123),
			int64(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_Any{[]VStructDepth1_All{}, VStructDepth1_VFloat32{F28: 1.6316448e+09}, VStructDepth3_List_VUnionDepth1_All{F1: {{F20: 37}, {F16: 2248810097}, {F12: {RetryCode: RetryBackoff, Msg: \"eΔΘΠΣΦ王普\"}}}}}",
		Target: VArray3_Any{
			[]VStructDepth1_All(nil),
			VStructDepth1_VFloat32{
				F28: 1.6316448e+09,
			},
			VStructDepth3_List_VUnionDepth1_All{
				F1: []VUnionDepth1_All{
					VUnionDepth1_AllF20{37},
					VUnionDepth1_AllF16{2248810097},
					VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "eΔΘΠΣΦ王普",
					})},
				},
			},
		},
		SourceLabel: "VArray3_Any{[]VStructDepth1_All{}, VStructDepth1_VFloat32{F28: 1.6316448e+09}, VStructDepth3_List_VUnionDepth1_All{F1: {{F20: 37}, {F16: 2248810097}, {F12: {RetryCode: RetryBackoff, Msg: \"eΔΘΠΣΦ王普\"}}}}}",
		Source: VArray3_Any{
			[]VStructDepth1_All(nil),
			VStructDepth1_VFloat32{
				F28: 1.6316448e+09,
			},
			VStructDepth3_List_VUnionDepth1_All{
				F1: []VUnionDepth1_All{
					VUnionDepth1_AllF20{37},
					VUnionDepth1_AllF16{2248810097},
					VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "eΔΘΠΣΦ王普",
					})},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_Any{[]VStructDepth1_All{}, VStructDepth1_VFloat32{F28: 1.6316448e+09}, VStructDepth3_List_VUnionDepth1_All{F1: {{F20: 37}, {F16: 2248810097}, {F12: {RetryCode: RetryBackoff, Msg: \"eΔΘΠΣΦ王普\"}}}}}",
		Target: VArray3_Any{
			[]VStructDepth1_All(nil),
			VStructDepth1_VFloat32{
				F28: 1.6316448e+09,
			},
			VStructDepth3_List_VUnionDepth1_All{
				F1: []VUnionDepth1_All{
					VUnionDepth1_AllF20{37},
					VUnionDepth1_AllF16{2248810097},
					VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "eΔΘΠΣΦ王普",
					})},
				},
			},
		},
		SourceLabel: "[]any{[]VStructDepth1_All{}, VStructDepth1_VFloat32{F28: 1.6316448e+09}, VStructDepth3_List_VUnionDepth1_All{F1: {{F20: 37}, {F16: 2248810097}, {F12: {RetryCode: RetryBackoff, Msg: \"eΔΘΠΣΦ王普\"}}}}}",
		Source: []interface{}{
			[]VStructDepth1_All(nil),
			VStructDepth1_VFloat32{
				F28: 1.6316448e+09,
			},
			VStructDepth3_List_VUnionDepth1_All{
				F1: []VUnionDepth1_All{
					VUnionDepth1_AllF20{37},
					VUnionDepth1_AllF16{2248810097},
					VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "eΔΘΠΣΦ王普",
					})},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_Bool{}",
		Target:      VArray3_Bool{},
		SourceLabel: "VArray3_Bool{}",
		Source:      VArray3_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Bool{}",
		Target:      VArray3_Bool{},
		SourceLabel: "VArray3_Any{false, false, false}",
		Source: VArray3_Any{
			false,
			false,
			false,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Bool{}",
		Target:      VArray3_Bool{},
		SourceLabel: "[]VBool{false, false, false}",
		Source: []VBool{
			false,
			false,
			false,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_Bool{true, true, true}",
		Target: VArray3_Bool{
			true,
			true,
			true,
		},
		SourceLabel: "VArray3_Bool{true, true, true}",
		Source: VArray3_Bool{
			true,
			true,
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_Bool{true, true, true}",
		Target: VArray3_Bool{
			true,
			true,
			true,
		},
		SourceLabel: "[]bool{true, true, true}",
		Source: []bool{
			true,
			true,
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_VBool{}",
		Target:      VArray3_VBool{},
		SourceLabel: "VArray3_VBool{}",
		Source:      VArray3_VBool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VBool{}",
		Target:      VArray3_VBool{},
		SourceLabel: "VArray3_Bool{}",
		Source:      VArray3_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VBool{}",
		Target:      VArray3_VBool{},
		SourceLabel: "VList_VBool{false, false, false}",
		Source: VList_VBool{
			false,
			false,
			false,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_VBool{true, true, true}",
		Target: VArray3_VBool{
			true,
			true,
			true,
		},
		SourceLabel: "VArray3_VBool{true, true, true}",
		Source: VArray3_VBool{
			true,
			true,
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_VBool{true, true, true}",
		Target: VArray3_VBool{
			true,
			true,
			true,
		},
		SourceLabel: "[]any{VBool(true), VBool(true), VBool(true)}",
		Source: []interface{}{
			VBool(true),
			VBool(true),
			VBool(true),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_String{}",
		Target:      VArray1_String{},
		SourceLabel: "VArray1_String{}",
		Source:      VArray1_String{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_String{}",
		Target:      VArray1_String{},
		SourceLabel: "VList_String{\"\"}",
		Source: VList_String{
			"",
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_String{}",
		Target:      VArray1_String{},
		SourceLabel: "[]VString{\"\"}",
		Source: []VString{
			"",
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_String{\"ΘΠΣ\"}",
		Target: VArray1_String{
			"ΘΠΣ",
		},
		SourceLabel: "VArray1_String{\"ΘΠΣ\"}",
		Source: VArray1_String{
			"ΘΠΣ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_String{\"ΘΠΣ\"}",
		Target: VArray1_String{
			"ΘΠΣ",
		},
		SourceLabel: "[]string{\"ΘΠΣ\"}",
		Source: []string{
			"ΘΠΣ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_VString{}",
		Target:      VArray3_VString{},
		SourceLabel: "VArray3_VString{}",
		Source:      VArray3_VString{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VString{}",
		Target:      VArray3_VString{},
		SourceLabel: "[]VString{\"\", \"\", \"\"}",
		Source: []VString{
			"",
			"",
			"",
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VString{}",
		Target:      VArray3_VString{},
		SourceLabel: "VArray3_Any{VString(\"\"), VString(\"\"), VString(\"\")}",
		Source: VArray3_Any{
			VString(""),
			VString(""),
			VString(""),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_VString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VArray3_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VArray3_VString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VArray3_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_VString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VArray3_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]string{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []string{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_VString{\"deΔΘΠΣ\", \"ΔΘΠΣ\", \"abcdeΔΘΠΣΦ王普澤\"}",
		Target: VArray3_VString{
			"deΔΘΠΣ",
			"ΔΘΠΣ",
			"abcdeΔΘΠΣΦ王普澤",
		},
		SourceLabel: "VArray3_VString{\"deΔΘΠΣ\", \"ΔΘΠΣ\", \"abcdeΔΘΠΣΦ王普澤\"}",
		Source: VArray3_VString{
			"deΔΘΠΣ",
			"ΔΘΠΣ",
			"abcdeΔΘΠΣΦ王普澤",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_VString{\"deΔΘΠΣ\", \"ΔΘΠΣ\", \"abcdeΔΘΠΣΦ王普澤\"}",
		Target: VArray3_VString{
			"deΔΘΠΣ",
			"ΔΘΠΣ",
			"abcdeΔΘΠΣΦ王普澤",
		},
		SourceLabel: "VList_String{\"deΔΘΠΣ\", \"ΔΘΠΣ\", \"abcdeΔΘΠΣΦ王普澤\"}",
		Source: VList_String{
			"deΔΘΠΣ",
			"ΔΘΠΣ",
			"abcdeΔΘΠΣΦ王普澤",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_TypeObject{}",
		Target: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "VArray2_TypeObject{}",
		Source: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_TypeObject{}",
		Target: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "VList_Any{typeobject(any), typeobject(any)}",
		Source: VList_Any{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_TypeObject{}",
		Target: VArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "[]any{typeobject(any), typeobject(any)}",
		Source: []interface{}{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Target: VArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
		SourceLabel: "VArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Source: VArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Target: VArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
		SourceLabel: "[]typeobject{typeobject(int64), typeobject(int64)}",
		Source: []*vdl.Type{
			vdl.Int64Type,
			vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_TypeObject{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Target: VArray2_TypeObject{
			__VDLType_float64_17,
			__VDLType_array_22,
		},
		SourceLabel: "VArray2_TypeObject{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Source: VArray2_TypeObject{
			__VDLType_float64_17,
			__VDLType_array_22,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_TypeObject{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Target: VArray2_TypeObject{
			__VDLType_float64_17,
			__VDLType_array_22,
		},
		SourceLabel: "[]any{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Source: []interface{}{
			__VDLType_float64_17,
			__VDLType_array_22,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_Byte(\"\\x00\")",
		Target:      VArray1_Byte{},
		SourceLabel: "VArray1_Byte(\"\\x00\")",
		Source:      VArray1_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Byte(\"\\x00\")",
		Target:      VArray1_Byte{},
		SourceLabel: "VList_VByte(\"\\x00\")",
		Source:      VList_VByte("\x00"),
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Byte(\"\\x00\")",
		Target:      VArray1_Byte{},
		SourceLabel: "VList_Any{byte(0)}",
		Source: VList_Any{
			byte(0),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_Byte(\"{\")",
		Target: VArray1_Byte{
			123,
		},
		SourceLabel: "VArray1_Byte(\"{\")",
		Source: VArray1_Byte{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_Byte(\"{\")",
		Target: VArray1_Byte{
			123,
		},
		SourceLabel: "[]VByte(\"{\")",
		Source:      []VByte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_Byte(\"\\xc1\")",
		Target: VArray1_Byte{
			193,
		},
		SourceLabel: "VArray1_Byte(\"\\xc1\")",
		Source: VArray1_Byte{
			193,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_Byte(\"\\xc1\")",
		Target: VArray1_Byte{
			193,
		},
		SourceLabel: "[]any{byte(193)}",
		Source: []interface{}{
			byte(193),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VByte(\"\\x00\\x00\")",
		Target:      VArray2_VByte{},
		SourceLabel: "VArray2_VByte(\"\\x00\\x00\")",
		Source:      VArray2_VByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VByte(\"\\x00\\x00\")",
		Target:      VArray2_VByte{},
		SourceLabel: "[]byte(\"\\x00\\x00\")",
		Source:      []byte("\x00\x00"),
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VByte(\"\\x00\\x00\")",
		Target:      VArray2_VByte{},
		SourceLabel: "[]VByte(\"\\x00\\x00\")",
		Source:      []VByte("\x00\x00"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VByte(\"{{\")",
		Target: VArray2_VByte{
			123,
			123,
		},
		SourceLabel: "VArray2_VByte(\"{{\")",
		Source: VArray2_VByte{
			123,
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VByte(\"{{\")",
		Target: VArray2_VByte{
			123,
			123,
		},
		SourceLabel: "VList_VFloat32{123, 123}",
		Source: VList_VFloat32{
			123,
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_VByte(\"\\x00\\xc7\")",
		Target: VArray2_VByte{
			0,
			199,
		},
		SourceLabel: "VArray2_VByte(\"\\x00\\xc7\")",
		Source: VArray2_VByte{
			0,
			199,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_VByte(\"\\x00\\xc7\")",
		Target: VArray2_VByte{
			0,
			199,
		},
		SourceLabel: "VList_Any{VByte(0), VByte(199)}",
		Source: VList_Any{
			VByte(0),
			VByte(199),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumAbc{}",
		Target:      VArray2_VEnumAbc{},
		SourceLabel: "VArray2_VEnumAbc{}",
		Source:      VArray2_VEnumAbc{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumAbc{}",
		Target:      VArray2_VEnumAbc{},
		SourceLabel: "[]any{VEnumAbc.A, VEnumAbc.A}",
		Source: []interface{}{
			VEnumAbcA,
			VEnumAbcA,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumAbc{}",
		Target:      VArray2_VEnumAbc{},
		SourceLabel: "VList_VEnumAbc{A, A}",
		Source: VList_VEnumAbc{
			VEnumAbcA,
			VEnumAbcA,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VEnumAbc{C, C}",
		Target: VArray2_VEnumAbc{
			VEnumAbcC,
			VEnumAbcC,
		},
		SourceLabel: "VArray2_VEnumAbc{C, C}",
		Source: VArray2_VEnumAbc{
			VEnumAbcC,
			VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VEnumAbc{C, C}",
		Target: VArray2_VEnumAbc{
			VEnumAbcC,
			VEnumAbcC,
		},
		SourceLabel: "VList_String{\"C\", \"C\"}",
		Source: VList_String{
			"C",
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumBcd{}",
		Target:      VArray2_VEnumBcd{},
		SourceLabel: "VArray2_VEnumBcd{}",
		Source:      VArray2_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumBcd{}",
		Target:      VArray2_VEnumBcd{},
		SourceLabel: "[]any{VEnumBcd.B, VEnumBcd.B}",
		Source: []interface{}{
			VEnumBcdB,
			VEnumBcdB,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VEnumBcd{}",
		Target:      VArray2_VEnumBcd{},
		SourceLabel: "VList_Any{VEnumBcd.B, VEnumBcd.B}",
		Source: VList_Any{
			VEnumBcdB,
			VEnumBcdB,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VEnumBcd{D, D}",
		Target: VArray2_VEnumBcd{
			VEnumBcdD,
			VEnumBcdD,
		},
		SourceLabel: "VArray2_VEnumBcd{D, D}",
		Source: VArray2_VEnumBcd{
			VEnumBcdD,
			VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VEnumBcd{D, D}",
		Target: VArray2_VEnumBcd{
			VEnumBcdD,
			VEnumBcdD,
		},
		SourceLabel: "VList_String{\"D\", \"D\"}",
		Source: VList_String{
			"D",
			"D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_VStructEmpty{}",
		Target:      VArray1_VStructEmpty{},
		SourceLabel: "VArray1_VStructEmpty{}",
		Source:      VArray1_VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VStructEmpty{}",
		Target:      VArray1_VStructEmpty{},
		SourceLabel: "VList_VStructDepth2_All{{}}",
		Source: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VStructEmpty{}",
		Target:      VArray1_VStructEmpty{},
		SourceLabel: "VList_OptVStructEmpty{{}}",
		Source: VList_OptVStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_VNamedError{}",
		Target:      VArray1_VNamedError{},
		SourceLabel: "VArray1_VNamedError{}",
		Source:      VArray1_VNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VNamedError{}",
		Target:      VArray1_VNamedError{},
		SourceLabel: "VList_VNamedError{{}}",
		Source: VList_VNamedError{
			{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VNamedError{}",
		Target:      VArray1_VNamedError{},
		SourceLabel: "VList_VStructEmpty{{}}",
		Source: VList_VStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray1_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VArray1_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VArray1_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray1_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_VNamedError{{Id: \"deΔ\"}}",
		Target: VArray1_VNamedError{
			{
				Id: "deΔ",
			},
		},
		SourceLabel: "VArray1_VNamedError{{Id: \"deΔ\"}}",
		Source: VArray1_VNamedError{
			{
				Id: "deΔ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_VNamedError{{Id: \"deΔ\"}}",
		Target: VArray1_VNamedError{
			{
				Id: "deΔ",
			},
		},
		SourceLabel: "VList_Any{VNamedError{Id: \"deΔ\"}}",
		Source: VList_Any{
			VNamedError{
				Id: "deΔ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_Error{}",
		Target:      VArray2_Error{},
		SourceLabel: "VArray2_Error{}",
		Source:      VArray2_Error{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Error{}",
		Target:      VArray2_Error{},
		SourceLabel: "[]?VNamedError{nil, nil}",
		Source: []*VNamedError{
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Error{}",
		Target:      VArray2_Error{},
		SourceLabel: "VList_OptVStructEmpty{nil, nil}",
		Source: VList_OptVStructEmpty{
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "VArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]any{error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []interface{}{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_Error{{RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ王\"}, {RetryCode: RetryBackoff, Msg: \"ΠΣΦ王\"}}",
		Target: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "deΔΘΠΣΦ王",
			}),
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "ΠΣΦ王",
			}),
		},
		SourceLabel: "VArray2_Error{{RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ王\"}, {RetryCode: RetryBackoff, Msg: \"ΠΣΦ王\"}}",
		Source: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "deΔΘΠΣΦ王",
			}),
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "ΠΣΦ王",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_Error{{RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ王\"}, {RetryCode: RetryBackoff, Msg: \"ΠΣΦ王\"}}",
		Target: VArray2_Error{
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "deΔΘΠΣΦ王",
			}),
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "ΠΣΦ王",
			}),
		},
		SourceLabel: "VList_Any{error{RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ王\"}, error{RetryCode: RetryBackoff, Msg: \"ΠΣΦ王\"}}",
		Source: VList_Any{
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "deΔΘΠΣΦ王",
			}),
			verror.FromWire(&vdl.WireError{
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "ΠΣΦ王",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_Uint32{}",
		Target:      VArray1_Uint32{},
		SourceLabel: "VArray1_Uint32{}",
		Source:      VArray1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Uint32{}",
		Target:      VArray1_Uint32{},
		SourceLabel: "[]int16{0}",
		Source: []int16{
			0,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Uint32{}",
		Target:      VArray1_Uint32{},
		SourceLabel: "VList_VUint16{0}",
		Source: VList_VUint16{
			0,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_Uint32{123}",
		Target: VArray1_Uint32{
			123,
		},
		SourceLabel: "VArray1_Uint32{123}",
		Source: VArray1_Uint32{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_Uint32{123}",
		Target: VArray1_Uint32{
			123,
		},
		SourceLabel: "[]VUint32{123}",
		Source: []VUint32{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_Uint32{3946538699}",
		Target: VArray1_Uint32{
			3946538699,
		},
		SourceLabel: "VArray1_Uint32{3946538699}",
		Source: VArray1_Uint32{
			3946538699,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_Uint32{3946538699}",
		Target: VArray1_Uint32{
			3946538699,
		},
		SourceLabel: "VList_Any{uint32(3946538699)}",
		Source: VList_Any{
			uint32(3946538699),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_Uint64{}",
		Target:      VArray3_Uint64{},
		SourceLabel: "VArray3_Uint64{}",
		Source:      VArray3_Uint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Uint64{}",
		Target:      VArray3_Uint64{},
		SourceLabel: "VList_VFloat32{0, 0, 0}",
		Source: VList_VFloat32{
			0,
			0,
			0,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Uint64{}",
		Target:      VArray3_Uint64{},
		SourceLabel: "[]VByte(\"\\x00\\x00\\x00\")",
		Source:      []VByte("\x00\x00\x00"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_Uint64{123, 123, 123}",
		Target: VArray3_Uint64{
			123,
			123,
			123,
		},
		SourceLabel: "VArray3_Uint64{123, 123, 123}",
		Source: VArray3_Uint64{
			123,
			123,
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_Uint64{123, 123, 123}",
		Target: VArray3_Uint64{
			123,
			123,
			123,
		},
		SourceLabel: "VList_Any{uint64(123), uint64(123), uint64(123)}",
		Source: VList_Any{
			uint64(123),
			uint64(123),
			uint64(123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_Uint64{4886896263626834365, 6075106111690673248, 18256274274049579854}",
		Target: VArray3_Uint64{
			4886896263626834365,
			6075106111690673248,
			18256274274049579854,
		},
		SourceLabel: "VArray3_Uint64{4886896263626834365, 6075106111690673248, 18256274274049579854}",
		Source: VArray3_Uint64{
			4886896263626834365,
			6075106111690673248,
			18256274274049579854,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_Uint64{4886896263626834365, 6075106111690673248, 18256274274049579854}",
		Target: VArray3_Uint64{
			4886896263626834365,
			6075106111690673248,
			18256274274049579854,
		},
		SourceLabel: "VArray3_Any{uint64(4886896263626834365), uint64(6075106111690673248), uint64(18256274274049579854)}",
		Source: VArray3_Any{
			uint64(4886896263626834365),
			uint64(6075106111690673248),
			uint64(18256274274049579854),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_Int64{}",
		Target:      VArray3_Int64{},
		SourceLabel: "VArray3_Int64{}",
		Source:      VArray3_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Int64{}",
		Target:      VArray3_Int64{},
		SourceLabel: "[]VByte(\"\\x00\\x00\\x00\")",
		Source:      []VByte("\x00\x00\x00"),
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Int64{}",
		Target:      VArray3_Int64{},
		SourceLabel: "[]byte(\"\\x00\\x00\\x00\")",
		Source:      []byte("\x00\x00\x00"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_Int64{-123, -123, -123}",
		Target: VArray3_Int64{
			-123,
			-123,
			-123,
		},
		SourceLabel: "VArray3_Int64{-123, -123, -123}",
		Source: VArray3_Int64{
			-123,
			-123,
			-123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_Int64{-123, -123, -123}",
		Target: VArray3_Int64{
			-123,
			-123,
			-123,
		},
		SourceLabel: "[]int16{-123, -123, -123}",
		Source: []int16{
			-123,
			-123,
			-123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_Int64{0, -136173863728909019, 0}",
		Target: VArray3_Int64{
			0,
			-136173863728909019,
			0,
		},
		SourceLabel: "VArray3_Int64{0, -136173863728909019, 0}",
		Source: VArray3_Int64{
			0,
			-136173863728909019,
			0,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_Int64{0, -136173863728909019, 0}",
		Target: VArray3_Int64{
			0,
			-136173863728909019,
			0,
		},
		SourceLabel: "[]any{int64(0), int64(-136173863728909019), int64(0)}",
		Source: []interface{}{
			int64(0),
			int64(-136173863728909019),
			int64(0),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_OptVStructEmpty{}",
		Target:      VArray1_OptVStructEmpty{},
		SourceLabel: "VArray1_OptVStructEmpty{}",
		Source:      VArray1_OptVStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_OptVStructEmpty{}",
		Target:      VArray1_OptVStructEmpty{},
		SourceLabel: "[]?VNamedError{nil}",
		Source: []*VNamedError{
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_OptVStructEmpty{}",
		Target:      VArray1_OptVStructEmpty{},
		SourceLabel: "[]?VStructDepth2_Set_Float64{nil}",
		Source: []*VStructDepth2_Set_Float64{
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_OptVStructEmpty{{}}",
		Target: VArray1_OptVStructEmpty{
			{},
		},
		SourceLabel: "VArray1_OptVStructEmpty{{}}",
		Source: VArray1_OptVStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_OptVStructEmpty{{}}",
		Target: VArray1_OptVStructEmpty{
			{},
		},
		SourceLabel: "VList_OptVNamedError{{}}",
		Source: VList_OptVNamedError{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_OptVNamedError{}",
		Target:      VArray3_OptVNamedError{},
		SourceLabel: "VArray3_OptVNamedError{}",
		Source:      VArray3_OptVNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVNamedError{}",
		Target:      VArray3_OptVNamedError{},
		SourceLabel: "[]?VNamedError{nil, nil, nil}",
		Source: []*VNamedError{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVNamedError{}",
		Target:      VArray3_OptVNamedError{},
		SourceLabel: "[]error{nil, nil, nil}",
		Source: []error{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray3_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VArray3_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VArray3_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VArray3_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VArray3_Any{?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, ?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, ?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VArray3_Any{
			&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_OptVNamedError{{Id: \"cdeΔΘΠΣΦ王\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, {}, {}}",
		Target: VArray3_OptVNamedError{
			{
				Id:  "cdeΔΘΠΣΦ王",
				Msg: "abcdeΔΘΠΣΦ王普澤世",
			},
			{},
			{},
		},
		SourceLabel: "VArray3_OptVNamedError{{Id: \"cdeΔΘΠΣΦ王\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, {}, {}}",
		Source: VArray3_OptVNamedError{
			{
				Id:  "cdeΔΘΠΣΦ王",
				Msg: "abcdeΔΘΠΣΦ王普澤世",
			},
			{},
			{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_OptVNamedError{{Id: \"cdeΔΘΠΣΦ王\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, {}, {}}",
		Target: VArray3_OptVNamedError{
			{
				Id:  "cdeΔΘΠΣΦ王",
				Msg: "abcdeΔΘΠΣΦ王普澤世",
			},
			{},
			{},
		},
		SourceLabel: "VList_VNamedError{{Id: \"cdeΔΘΠΣΦ王\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, {}, {}}",
		Source: VList_VNamedError{
			{
				Id:  "cdeΔΘΠΣΦ王",
				Msg: "abcdeΔΘΠΣΦ王普澤世",
			},
			{},
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]any{}",
		Target:      []interface{}(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]any{}",
		Target:      []interface{}(nil),
		SourceLabel: "[]VNamedError{}",
		Source:      []VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]any{}",
		Target:      []interface{}(nil),
		SourceLabel: "[]string{}",
		Source:      []string(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]any{int64(-123)}",
		Target: []interface{}{
			int64(-123),
		},
		SourceLabel: "[]any{int64(-123)}",
		Source: []interface{}{
			int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]any{int64(-123)}",
		Target: []interface{}{
			int64(-123),
		},
		SourceLabel: "VList_Any{int64(-123)}",
		Source: VList_Any{
			int64(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]any{VSet_VString{\"\", \"abcdeΔΘΠΣ\"}}",
		Target: []interface{}{
			VSet_VString{
				"":          struct{}{},
				"abcdeΔΘΠΣ": struct{}{},
			},
		},
		SourceLabel: "[]any{VSet_VString{\"\", \"abcdeΔΘΠΣ\"}}",
		Source: []interface{}{
			VSet_VString{
				"":          struct{}{},
				"abcdeΔΘΠΣ": struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]any{VSet_VString{\"\", \"abcdeΔΘΠΣ\"}}",
		Target: []interface{}{
			VSet_VString{
				"":          struct{}{},
				"abcdeΔΘΠΣ": struct{}{},
			},
		},
		SourceLabel: "VList_Any{VSet_VString{\"\", \"abcdeΔΘΠΣ\"}}",
		Source: VList_Any{
			VSet_VString{
				"":          struct{}{},
				"abcdeΔΘΠΣ": struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]bool{}",
		Target:      []bool(nil),
		SourceLabel: "[]bool{}",
		Source:      []bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]bool{}",
		Target:      []bool(nil),
		SourceLabel: "VList_VBool{}",
		Source:      VList_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]bool{}",
		Target:      []bool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]bool{true}",
		Target: []bool{
			true,
		},
		SourceLabel: "[]bool{true}",
		Source: []bool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]bool{true}",
		Target: []bool{
			true,
		},
		SourceLabel: "[]VBool{true}",
		Source: []VBool{
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VBool{}",
		Target:      []VBool(nil),
		SourceLabel: "[]VBool{}",
		Source:      []VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VBool{}",
		Target:      []VBool(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VBool{}",
		Target:      []VBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VBool{true}",
		Target: []VBool{
			true,
		},
		SourceLabel: "[]VBool{true}",
		Source: []VBool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VBool{true}",
		Target: []VBool{
			true,
		},
		SourceLabel: "[]bool{true}",
		Source: []bool{
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]string{}",
		Target:      []string(nil),
		SourceLabel: "[]string{}",
		Source:      []string(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]string{}",
		Target:      []string(nil),
		SourceLabel: "VList_String{}",
		Source:      VList_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]string{}",
		Target:      []string(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]string{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []string{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]string{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []string{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]string{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []string{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]string{\"\", \"ΔΘΠΣΦ王普澤\"}",
		Target: []string{
			"",
			"ΔΘΠΣΦ王普澤",
		},
		SourceLabel: "[]string{\"\", \"ΔΘΠΣΦ王普澤\"}",
		Source: []string{
			"",
			"ΔΘΠΣΦ王普澤",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]string{\"\", \"ΔΘΠΣΦ王普澤\"}",
		Target: []string{
			"",
			"ΔΘΠΣΦ王普澤",
		},
		SourceLabel: "VList_String{\"\", \"ΔΘΠΣΦ王普澤\"}",
		Source: VList_String{
			"",
			"ΔΘΠΣΦ王普澤",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VString{}",
		Target:      []VString(nil),
		SourceLabel: "[]VString{}",
		Source:      []VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VString{}",
		Target:      []VString(nil),
		SourceLabel: "[]VEnumBcd{}",
		Source:      []VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VString{}",
		Target:      []VString(nil),
		SourceLabel: "VList_String{}",
		Source:      VList_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VString{\"Δ\", \"\"}",
		Target: []VString{
			"Δ",
			"",
		},
		SourceLabel: "[]VString{\"Δ\", \"\"}",
		Source: []VString{
			"Δ",
			"",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VString{\"Δ\", \"\"}",
		Target: []VString{
			"Δ",
			"",
		},
		SourceLabel: "VList_String{\"Δ\", \"\"}",
		Source: VList_String{
			"Δ",
			"",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]typeobject{}",
		Target:      []*vdl.Type(nil),
		SourceLabel: "[]typeobject{}",
		Source:      []*vdl.Type(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]typeobject{}",
		Target:      []*vdl.Type(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]typeobject{}",
		Target:      []*vdl.Type(nil),
		SourceLabel: "VList_TypeObject{}",
		Source:      VList_TypeObject(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]typeobject{typeobject(int64)}",
		Target: []*vdl.Type{
			vdl.Int64Type,
		},
		SourceLabel: "[]typeobject{typeobject(int64)}",
		Source: []*vdl.Type{
			vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]typeobject{typeobject(int64)}",
		Target: []*vdl.Type{
			vdl.Int64Type,
		},
		SourceLabel: "VList_Any{typeobject(int64)}",
		Source: VList_Any{
			vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]typeobject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Target: []*vdl.Type{
			__VDLType_set_65,
			__VDLType_list_286,
		},
		SourceLabel: "[]typeobject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Source: []*vdl.Type{
			__VDLType_set_65,
			__VDLType_list_286,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]typeobject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Target: []*vdl.Type{
			__VDLType_set_65,
			__VDLType_list_286,
		},
		SourceLabel: "VArray2_TypeObject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Source: VArray2_TypeObject{
			__VDLType_set_65,
			__VDLType_list_286,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]byte(\"\")",
		Target:      []byte(nil),
		SourceLabel: "[]byte(\"\")",
		Source:      []byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]byte(\"\")",
		Target:      []byte(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]byte(\"\")",
		Target:      []byte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]byte(\"{\")",
		Target:      []byte("{"),
		SourceLabel: "[]byte(\"{\")",
		Source:      []byte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "[]byte(\"{\")",
		Target:      []byte("{"),
		SourceLabel: "VList_VByte(\"{\")",
		Source:      VList_VByte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]byte(\"%\")",
		Target:      []byte("%"),
		SourceLabel: "[]byte(\"%\")",
		Source:      []byte("%"),
	},
	{
		Label:       "Random0",
		TargetLabel: "[]byte(\"%\")",
		Target:      []byte("%"),
		SourceLabel: "VList_VFloat32{37}",
		Source: VList_VFloat32{
			37,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VByte(\"\")",
		Target:      []VByte(nil),
		SourceLabel: "[]VByte(\"\")",
		Source:      []VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VByte(\"\")",
		Target:      []VByte(nil),
		SourceLabel: "[]VUint32{}",
		Source:      []VUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VByte(\"\")",
		Target:      []VByte(nil),
		SourceLabel: "[]uint32{}",
		Source:      []uint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VByte(\"{\")",
		Target:      []VByte("{"),
		SourceLabel: "[]VByte(\"{\")",
		Source:      []VByte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "[]VByte(\"{\")",
		Target:      []VByte("{"),
		SourceLabel: "VList_Any{VByte(123)}",
		Source: VList_Any{
			VByte(123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VByte(\"\\xcd\")",
		Target:      []VByte("\xcd"),
		SourceLabel: "[]VByte(\"\\xcd\")",
		Source:      []VByte("\xcd"),
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VByte(\"\\xcd\")",
		Target:      []VByte("\xcd"),
		SourceLabel: "VList_Byte(\"\\xcd\")",
		Source:      VList_Byte("\xcd"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VEnumAbc{}",
		Target:      []VEnumAbc(nil),
		SourceLabel: "[]VEnumAbc{}",
		Source:      []VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VEnumAbc{}",
		Target:      []VEnumAbc(nil),
		SourceLabel: "[]VEnumBcd{}",
		Source:      []VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VEnumAbc{}",
		Target:      []VEnumAbc(nil),
		SourceLabel: "VList_String{}",
		Source:      VList_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VEnumAbc{C}",
		Target: []VEnumAbc{
			VEnumAbcC,
		},
		SourceLabel: "[]VEnumAbc{C}",
		Source: []VEnumAbc{
			VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VEnumAbc{C}",
		Target: []VEnumAbc{
			VEnumAbcC,
		},
		SourceLabel: "VList_VString{\"C\"}",
		Source: VList_VString{
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VEnumBcd{}",
		Target:      []VEnumBcd(nil),
		SourceLabel: "[]VEnumBcd{}",
		Source:      []VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VEnumBcd{}",
		Target:      []VEnumBcd(nil),
		SourceLabel: "[]VEnumAbc{}",
		Source:      []VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VEnumBcd{}",
		Target:      []VEnumBcd(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VEnumBcd{D}",
		Target: []VEnumBcd{
			VEnumBcdD,
		},
		SourceLabel: "[]VEnumBcd{D}",
		Source: []VEnumBcd{
			VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VEnumBcd{D}",
		Target: []VEnumBcd{
			VEnumBcdD,
		},
		SourceLabel: "VList_Any{VEnumBcd.D}",
		Source: VList_Any{
			VEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VStructEmpty{}",
		Target:      []VStructEmpty(nil),
		SourceLabel: "[]VStructEmpty{}",
		Source:      []VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructEmpty{}",
		Target:      []VStructEmpty(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructEmpty{}",
		Target:      []VStructEmpty(nil),
		SourceLabel: "VList_VStructDepth1_All{}",
		Source:      VList_VStructDepth1_All(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VStructEmpty{{}}",
		Target: []VStructEmpty{
			{},
		},
		SourceLabel: "[]VStructEmpty{{}}",
		Source: []VStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VStructEmpty{{}}",
		Target: []VStructEmpty{
			{},
		},
		SourceLabel: "[]?VStructDepth1_VEnumBcd{{}}",
		Source: []*VStructDepth1_VEnumBcd{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VNamedError{}",
		Target:      []VNamedError(nil),
		SourceLabel: "[]VNamedError{}",
		Source:      []VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VNamedError{}",
		Target:      []VNamedError(nil),
		SourceLabel: "[]error{}",
		Source:      []error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VNamedError{}",
		Target:      []VNamedError(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VNamedError{{Id: \"abcde\", Msg: \"deΔΘΠΣΦ王普澤\"}, {Id: \"eΔΘΠΣΦ王普\", Msg: \"eΔΘΠΣ\"}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}",
		Target: []VNamedError{
			{
				Id:  "abcde",
				Msg: "deΔΘΠΣΦ王普澤",
			},
			{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "eΔΘΠΣ",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤",
				Msg: "bcdeΔΘΠΣΦ王普澤世",
			},
		},
		SourceLabel: "[]VNamedError{{Id: \"abcde\", Msg: \"deΔΘΠΣΦ王普澤\"}, {Id: \"eΔΘΠΣΦ王普\", Msg: \"eΔΘΠΣ\"}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}",
		Source: []VNamedError{
			{
				Id:  "abcde",
				Msg: "deΔΘΠΣΦ王普澤",
			},
			{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "eΔΘΠΣ",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤",
				Msg: "bcdeΔΘΠΣΦ王普澤世",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VNamedError{{Id: \"abcde\", Msg: \"deΔΘΠΣΦ王普澤\"}, {Id: \"eΔΘΠΣΦ王普\", Msg: \"eΔΘΠΣ\"}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}",
		Target: []VNamedError{
			{
				Id:  "abcde",
				Msg: "deΔΘΠΣΦ王普澤",
			},
			{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "eΔΘΠΣ",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤",
				Msg: "bcdeΔΘΠΣΦ王普澤世",
			},
		},
		SourceLabel: "VList_Error{{Id: \"abcde\", Msg: \"deΔΘΠΣΦ王普澤\"}, {Id: \"eΔΘΠΣΦ王普\", Msg: \"eΔΘΠΣ\"}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}",
		Source: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "abcde",
				Msg: "deΔΘΠΣΦ王普澤",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "eΔΘΠΣ",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "ΔΘΠΣΦ王普澤",
				Msg: "bcdeΔΘΠΣΦ王普澤世",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]error{}",
		Target:      []error(nil),
		SourceLabel: "[]error{}",
		Source:      []error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]error{}",
		Target:      []error(nil),
		SourceLabel: "VList_VNamedError{}",
		Source:      VList_VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]error{}",
		Target:      []error(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "VList_Any{error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_Any{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]error{{}, {}, {Id: \"ΣΦ王普澤世界\"}}",
		Target: []error{
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{
				Id: "ΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]error{{}, {}, {Id: \"ΣΦ王普澤世界\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{
				Id: "ΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]error{{}, {}, {Id: \"ΣΦ王普澤世界\"}}",
		Target: []error{
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{}),
			verror.FromWire(&vdl.WireError{
				Id: "ΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]?VNamedError{{}, {}, {Id: \"ΣΦ王普澤世界\"}}",
		Source: []*VNamedError{
			{},
			{},
			{
				Id: "ΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]uint32{}",
		Target:      []uint32(nil),
		SourceLabel: "[]uint32{}",
		Source:      []uint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]uint32{}",
		Target:      []uint32(nil),
		SourceLabel: "VList_VByte(\"\")",
		Source:      VList_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]uint32{}",
		Target:      []uint32(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]uint32{123}",
		Target: []uint32{
			123,
		},
		SourceLabel: "[]uint32{123}",
		Source: []uint32{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]uint32{123}",
		Target: []uint32{
			123,
		},
		SourceLabel: "VList_VByte(\"{\")",
		Source:      VList_VByte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]uint32{3480643248, 0, 1860397017}",
		Target: []uint32{
			3480643248,
			0,
			1860397017,
		},
		SourceLabel: "[]uint32{3480643248, 0, 1860397017}",
		Source: []uint32{
			3480643248,
			0,
			1860397017,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]uint32{3480643248, 0, 1860397017}",
		Target: []uint32{
			3480643248,
			0,
			1860397017,
		},
		SourceLabel: "[]VUint32{3480643248, 0, 1860397017}",
		Source: []VUint32{
			3480643248,
			0,
			1860397017,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VUint32{}",
		Target:      []VUint32(nil),
		SourceLabel: "[]VUint32{}",
		Source:      []VUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUint32{}",
		Target:      []VUint32(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUint32{}",
		Target:      []VUint32(nil),
		SourceLabel: "[]int16{}",
		Source:      []int16(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VUint32{123}",
		Target: []VUint32{
			123,
		},
		SourceLabel: "[]VUint32{123}",
		Source: []VUint32{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VUint32{123}",
		Target: []VUint32{
			123,
		},
		SourceLabel: "VList_Any{VUint32(123)}",
		Source: VList_Any{
			VUint32(123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VUint32{2081338166, 0, 0}",
		Target: []VUint32{
			2081338166,
			0,
			0,
		},
		SourceLabel: "[]VUint32{2081338166, 0, 0}",
		Source: []VUint32{
			2081338166,
			0,
			0,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VUint32{2081338166, 0, 0}",
		Target: []VUint32{
			2081338166,
			0,
			0,
		},
		SourceLabel: "VList_Any{VUint32(2081338166), VUint32(0), VUint32(0)}",
		Source: VList_Any{
			VUint32(2081338166),
			VUint32(0),
			VUint32(0),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]int16{}",
		Target:      []int16(nil),
		SourceLabel: "[]int16{}",
		Source:      []int16(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]int16{}",
		Target:      []int16(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]int16{}",
		Target:      []int16(nil),
		SourceLabel: "VList_VByte(\"\")",
		Source:      VList_VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]int16{-123}",
		Target: []int16{
			-123,
		},
		SourceLabel: "[]int16{-123}",
		Source: []int16{
			-123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]int16{-123}",
		Target: []int16{
			-123,
		},
		SourceLabel: "[]any{int16(-123)}",
		Source: []interface{}{
			int16(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]int16{3281, -15000}",
		Target: []int16{
			3281,
			-15000,
		},
		SourceLabel: "[]int16{3281, -15000}",
		Source: []int16{
			3281,
			-15000,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]int16{3281, -15000}",
		Target: []int16{
			3281,
			-15000,
		},
		SourceLabel: "VList_VFloat32{3281, -15000}",
		Source: VList_VFloat32{
			3281,
			-15000,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?VStructEmpty{}",
		Target:      []*VStructEmpty(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructEmpty{}",
		Target:      []*VStructEmpty(nil),
		SourceLabel: "[]?VNamedError{}",
		Source:      []*VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructEmpty{}",
		Target:      []*VStructEmpty(nil),
		SourceLabel: "VList_OptVStructEmpty{}",
		Source:      VList_OptVStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?VStructEmpty{{}}",
		Target: []*VStructEmpty{
			{},
		},
		SourceLabel: "[]?VStructEmpty{{}}",
		Source: []*VStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?VStructEmpty{{}}",
		Target: []*VStructEmpty{
			{},
		},
		SourceLabel: "VList_Any{?VStructEmpty{}}",
		Source: VList_Any{
			&VStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?VNamedError{}",
		Target:      []*VNamedError(nil),
		SourceLabel: "[]?VNamedError{}",
		Source:      []*VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VNamedError{}",
		Target:      []*VNamedError(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VNamedError{}",
		Target:      []*VNamedError(nil),
		SourceLabel: "VList_OptVNamedError{}",
		Source:      VList_OptVNamedError(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []*VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]?VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []*VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []*VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]any{?VNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []interface{}{
			&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]?VNamedError{{Id: \"王普澤世\", Msg: \"世界\"}}",
		Target: []*VNamedError{
			{
				Id:  "王普澤世",
				Msg: "世界",
			},
		},
		SourceLabel: "[]?VNamedError{{Id: \"王普澤世\", Msg: \"世界\"}}",
		Source: []*VNamedError{
			{
				Id:  "王普澤世",
				Msg: "世界",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]?VNamedError{{Id: \"王普澤世\", Msg: \"世界\"}}",
		Target: []*VNamedError{
			{
				Id:  "王普澤世",
				Msg: "世界",
			},
		},
		SourceLabel: "VList_Any{?VNamedError{Id: \"王普澤世\", Msg: \"世界\"}}",
		Source: VList_Any{
			&VNamedError{
				Id:  "王普澤世",
				Msg: "世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_Any{}",
		Target:      VList_Any(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Any{}",
		Target:      VList_Any(nil),
		SourceLabel: "[]VUint32{}",
		Source:      []VUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Any{}",
		Target:      VList_Any(nil),
		SourceLabel: "[]?VStructDepth1_VEnumBcd{}",
		Source:      []*VStructDepth1_VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_Any{int64(-123)}",
		Target: VList_Any{
			int64(-123),
		},
		SourceLabel: "VList_Any{int64(-123)}",
		Source: VList_Any{
			int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_Any{int64(-123)}",
		Target: VList_Any{
			int64(-123),
		},
		SourceLabel: "[]any{int64(-123)}",
		Source: []interface{}{
			int64(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_Any{VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}, VStructDepth1_OptVStructEmpty{F31: {}}, VList_VStructDepth2_All{{F0: {typeobject(VUnionDepth2_VStructDepth1_Int8), typeobject(VStructDepth1_OptVStructEmpty)}, F2: {-4101, -16230, 14354}, F4: {-3.2855644714213675e+08, -8.692264265265553e+08, 3.800593502145281e+08}, F5: {B, C, D}, F6: {14: 168}, F7: {0: 1867570408, 3850295936: 1398145105}, F8: {F0: VUnionDepth1_OptVStructEmpty{F31: {}}, F6: 218, F7: 202, F8: C, F9: C, F12: {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤世界\"}, F13: 41770, F15: 2515791898, F16: 3244429329, F18: 9707117714888947982, F19: 55, F20: -35, F21: 9041, F22: -760, F23: 387955183, F24: -103111496, F25: 3187834467784460652, F27: -1.4081742e+07, F28: -3.1722112e+08, F29: 9.703261326646038e+08, F30: 1.3845241244238656e+09, F31: {}}, F10: {F27: 0}, F12: {F9: D}}, {}}}",
		Target: VList_Any{
			VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
			VStructDepth1_OptVStructEmpty{
				F31: &VStructEmpty{},
			},
			VList_VStructDepth2_All{
				{
					F0: VArray2_TypeObject{
						__VDLType_union_206,
						__VDLType_struct_114,
					},
					F2: []int16{
						-4101,
						-16230,
						14354,
					},
					F4: map[float64]struct{}{
						-3.2855644714213675e+08: struct{}{},
						-8.692264265265553e+08:  struct{}{},
						3.800593502145281e+08:   struct{}{},
					},
					F5: VSet_VEnumBcd{
						VEnumBcdB: struct{}{},
						VEnumBcdC: struct{}{},
						VEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						14: 168,
					},
					F7: map[uint32]uint32{
						0:          1867570408,
						3850295936: 1398145105,
					},
					F8: VStructDepth1_All{
						F0: VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
						F5: vdl.AnyType,
						F6: 218,
						F7: 202,
						F8: VEnumAbcC,
						F9: VEnumBcdC,
						F12: verror.FromWire(&vdl.WireError{
							Id:        "cdeΔΘΠΣΦ",
							RetryCode: vdl.WireRetryCodeRetryConnection,
							Msg:       "ΣΦ王普澤世界",
						}),
						F13: 41770,
						F15: 2515791898,
						F16: 3244429329,
						F18: 9707117714888947982,
						F19: 55,
						F20: -35,
						F21: 9041,
						F22: -760,
						F23: 387955183,
						F24: -103111496,
						F25: 3187834467784460652,
						F27: -1.4081742e+07,
						F28: -3.1722112e+08,
						F29: 9.703261326646038e+08,
						F30: 1.3845241244238656e+09,
						F31: &VStructEmpty{},
					},
					F10: VUnionDepth1_AllF27{},
					F11: VUnionDepth1_Float64F29{},
					F12: &VStructDepth1_VEnumBcd{
						F9: VEnumBcdD,
					},
				},
				{
					F0: VArray2_TypeObject{
						vdl.AnyType,
						vdl.AnyType,
					},
					F8: VStructDepth1_All{
						F5: vdl.AnyType,
					},
					F10: VUnionDepth1_AllF0{},
					F11: VUnionDepth1_Float64F29{},
				},
			},
		},
		SourceLabel: "VList_Any{VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}, VStructDepth1_OptVStructEmpty{F31: {}}, VList_VStructDepth2_All{{F0: {typeobject(VUnionDepth2_VStructDepth1_Int8), typeobject(VStructDepth1_OptVStructEmpty)}, F2: {-4101, -16230, 14354}, F4: {-3.2855644714213675e+08, -8.692264265265553e+08, 3.800593502145281e+08}, F5: {B, C, D}, F6: {14: 168}, F7: {0: 1867570408, 3850295936: 1398145105}, F8: {F0: VUnionDepth1_OptVStructEmpty{F31: {}}, F6: 218, F7: 202, F8: C, F9: C, F12: {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤世界\"}, F13: 41770, F15: 2515791898, F16: 3244429329, F18: 9707117714888947982, F19: 55, F20: -35, F21: 9041, F22: -760, F23: 387955183, F24: -103111496, F25: 3187834467784460652, F27: -1.4081742e+07, F28: -3.1722112e+08, F29: 9.703261326646038e+08, F30: 1.3845241244238656e+09, F31: {}}, F10: {F27: 0}, F12: {F9: D}}, {}}}",
		Source: VList_Any{
			VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
			VStructDepth1_OptVStructEmpty{
				F31: &VStructEmpty{},
			},
			VList_VStructDepth2_All{
				{
					F0: VArray2_TypeObject{
						__VDLType_union_206,
						__VDLType_struct_114,
					},
					F2: []int16{
						-4101,
						-16230,
						14354,
					},
					F4: map[float64]struct{}{
						-3.2855644714213675e+08: struct{}{},
						-8.692264265265553e+08:  struct{}{},
						3.800593502145281e+08:   struct{}{},
					},
					F5: VSet_VEnumBcd{
						VEnumBcdB: struct{}{},
						VEnumBcdC: struct{}{},
						VEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						14: 168,
					},
					F7: map[uint32]uint32{
						0:          1867570408,
						3850295936: 1398145105,
					},
					F8: VStructDepth1_All{
						F0: VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
						F5: vdl.AnyType,
						F6: 218,
						F7: 202,
						F8: VEnumAbcC,
						F9: VEnumBcdC,
						F12: verror.FromWire(&vdl.WireError{
							Id:        "cdeΔΘΠΣΦ",
							RetryCode: vdl.WireRetryCodeRetryConnection,
							Msg:       "ΣΦ王普澤世界",
						}),
						F13: 41770,
						F15: 2515791898,
						F16: 3244429329,
						F18: 9707117714888947982,
						F19: 55,
						F20: -35,
						F21: 9041,
						F22: -760,
						F23: 387955183,
						F24: -103111496,
						F25: 3187834467784460652,
						F27: -1.4081742e+07,
						F28: -3.1722112e+08,
						F29: 9.703261326646038e+08,
						F30: 1.3845241244238656e+09,
						F31: &VStructEmpty{},
					},
					F10: VUnionDepth1_AllF27{},
					F11: VUnionDepth1_Float64F29{},
					F12: &VStructDepth1_VEnumBcd{
						F9: VEnumBcdD,
					},
				},
				{
					F0: VArray2_TypeObject{
						vdl.AnyType,
						vdl.AnyType,
					},
					F8: VStructDepth1_All{
						F5: vdl.AnyType,
					},
					F10: VUnionDepth1_AllF0{},
					F11: VUnionDepth1_Float64F29{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_Any{VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}, VStructDepth1_OptVStructEmpty{F31: {}}, VList_VStructDepth2_All{{F0: {typeobject(VUnionDepth2_VStructDepth1_Int8), typeobject(VStructDepth1_OptVStructEmpty)}, F2: {-4101, -16230, 14354}, F4: {-3.2855644714213675e+08, -8.692264265265553e+08, 3.800593502145281e+08}, F5: {B, C, D}, F6: {14: 168}, F7: {0: 1867570408, 3850295936: 1398145105}, F8: {F0: VUnionDepth1_OptVStructEmpty{F31: {}}, F6: 218, F7: 202, F8: C, F9: C, F12: {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤世界\"}, F13: 41770, F15: 2515791898, F16: 3244429329, F18: 9707117714888947982, F19: 55, F20: -35, F21: 9041, F22: -760, F23: 387955183, F24: -103111496, F25: 3187834467784460652, F27: -1.4081742e+07, F28: -3.1722112e+08, F29: 9.703261326646038e+08, F30: 1.3845241244238656e+09, F31: {}}, F10: {F27: 0}, F12: {F9: D}}, {}}}",
		Target: VList_Any{
			VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
			VStructDepth1_OptVStructEmpty{
				F31: &VStructEmpty{},
			},
			VList_VStructDepth2_All{
				{
					F0: VArray2_TypeObject{
						__VDLType_union_206,
						__VDLType_struct_114,
					},
					F2: []int16{
						-4101,
						-16230,
						14354,
					},
					F4: map[float64]struct{}{
						-3.2855644714213675e+08: struct{}{},
						-8.692264265265553e+08:  struct{}{},
						3.800593502145281e+08:   struct{}{},
					},
					F5: VSet_VEnumBcd{
						VEnumBcdB: struct{}{},
						VEnumBcdC: struct{}{},
						VEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						14: 168,
					},
					F7: map[uint32]uint32{
						0:          1867570408,
						3850295936: 1398145105,
					},
					F8: VStructDepth1_All{
						F0: VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
						F5: vdl.AnyType,
						F6: 218,
						F7: 202,
						F8: VEnumAbcC,
						F9: VEnumBcdC,
						F12: verror.FromWire(&vdl.WireError{
							Id:        "cdeΔΘΠΣΦ",
							RetryCode: vdl.WireRetryCodeRetryConnection,
							Msg:       "ΣΦ王普澤世界",
						}),
						F13: 41770,
						F15: 2515791898,
						F16: 3244429329,
						F18: 9707117714888947982,
						F19: 55,
						F20: -35,
						F21: 9041,
						F22: -760,
						F23: 387955183,
						F24: -103111496,
						F25: 3187834467784460652,
						F27: -1.4081742e+07,
						F28: -3.1722112e+08,
						F29: 9.703261326646038e+08,
						F30: 1.3845241244238656e+09,
						F31: &VStructEmpty{},
					},
					F10: VUnionDepth1_AllF27{},
					F11: VUnionDepth1_Float64F29{},
					F12: &VStructDepth1_VEnumBcd{
						F9: VEnumBcdD,
					},
				},
				{
					F0: VArray2_TypeObject{
						vdl.AnyType,
						vdl.AnyType,
					},
					F8: VStructDepth1_All{
						F5: vdl.AnyType,
					},
					F10: VUnionDepth1_AllF0{},
					F11: VUnionDepth1_Float64F29{},
				},
			},
		},
		SourceLabel: "VArray3_Any{VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}, VStructDepth1_OptVStructEmpty{F31: {}}, VList_VStructDepth2_All{{F0: {typeobject(VUnionDepth2_VStructDepth1_Int8), typeobject(VStructDepth1_OptVStructEmpty)}, F2: {-4101, -16230, 14354}, F4: {-3.2855644714213675e+08, -8.692264265265553e+08, 3.800593502145281e+08}, F5: {B, C, D}, F6: {14: 168}, F7: {0: 1867570408, 3850295936: 1398145105}, F8: {F0: VUnionDepth1_OptVStructEmpty{F31: {}}, F6: 218, F7: 202, F8: C, F9: C, F12: {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤世界\"}, F13: 41770, F15: 2515791898, F16: 3244429329, F18: 9707117714888947982, F19: 55, F20: -35, F21: 9041, F22: -760, F23: 387955183, F24: -103111496, F25: 3187834467784460652, F27: -1.4081742e+07, F28: -3.1722112e+08, F29: 9.703261326646038e+08, F30: 1.3845241244238656e+09, F31: {}}, F10: {F27: 0}, F12: {F9: D}}, {}}}",
		Source: VArray3_Any{
			VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
			VStructDepth1_OptVStructEmpty{
				F31: &VStructEmpty{},
			},
			VList_VStructDepth2_All{
				{
					F0: VArray2_TypeObject{
						__VDLType_union_206,
						__VDLType_struct_114,
					},
					F2: []int16{
						-4101,
						-16230,
						14354,
					},
					F4: map[float64]struct{}{
						-3.2855644714213675e+08: struct{}{},
						-8.692264265265553e+08:  struct{}{},
						3.800593502145281e+08:   struct{}{},
					},
					F5: VSet_VEnumBcd{
						VEnumBcdB: struct{}{},
						VEnumBcdC: struct{}{},
						VEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						14: 168,
					},
					F7: map[uint32]uint32{
						0:          1867570408,
						3850295936: 1398145105,
					},
					F8: VStructDepth1_All{
						F0: VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
						F5: vdl.AnyType,
						F6: 218,
						F7: 202,
						F8: VEnumAbcC,
						F9: VEnumBcdC,
						F12: verror.FromWire(&vdl.WireError{
							Id:        "cdeΔΘΠΣΦ",
							RetryCode: vdl.WireRetryCodeRetryConnection,
							Msg:       "ΣΦ王普澤世界",
						}),
						F13: 41770,
						F15: 2515791898,
						F16: 3244429329,
						F18: 9707117714888947982,
						F19: 55,
						F20: -35,
						F21: 9041,
						F22: -760,
						F23: 387955183,
						F24: -103111496,
						F25: 3187834467784460652,
						F27: -1.4081742e+07,
						F28: -3.1722112e+08,
						F29: 9.703261326646038e+08,
						F30: 1.3845241244238656e+09,
						F31: &VStructEmpty{},
					},
					F10: VUnionDepth1_AllF27{},
					F11: VUnionDepth1_Float64F29{},
					F12: &VStructDepth1_VEnumBcd{
						F9: VEnumBcdD,
					},
				},
				{
					F0: VArray2_TypeObject{
						vdl.AnyType,
						vdl.AnyType,
					},
					F8: VStructDepth1_All{
						F5: vdl.AnyType,
					},
					F10: VUnionDepth1_AllF0{},
					F11: VUnionDepth1_Float64F29{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_Bool{}",
		Target:      VList_Bool(nil),
		SourceLabel: "VList_Bool{}",
		Source:      VList_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Bool{}",
		Target:      VList_Bool(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Bool{}",
		Target:      VList_Bool(nil),
		SourceLabel: "[]VBool{}",
		Source:      []VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_Bool{true}",
		Target: VList_Bool{
			true,
		},
		SourceLabel: "VList_Bool{true}",
		Source: VList_Bool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_Bool{true}",
		Target: VList_Bool{
			true,
		},
		SourceLabel: "VList_Any{true}",
		Source: VList_Any{
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VBool{}",
		Target:      VList_VBool(nil),
		SourceLabel: "VList_VBool{}",
		Source:      VList_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VBool{}",
		Target:      VList_VBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VBool{}",
		Target:      VList_VBool(nil),
		SourceLabel: "[]VBool{}",
		Source:      []VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VBool{true}",
		Target: VList_VBool{
			true,
		},
		SourceLabel: "VList_VBool{true}",
		Source: VList_VBool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VBool{true}",
		Target: VList_VBool{
			true,
		},
		SourceLabel: "[]any{VBool(true)}",
		Source: []interface{}{
			VBool(true),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_String{}",
		Target:      VList_String(nil),
		SourceLabel: "VList_String{}",
		Source:      VList_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_String{}",
		Target:      VList_String(nil),
		SourceLabel: "VList_VString{}",
		Source:      VList_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_String{}",
		Target:      VList_String(nil),
		SourceLabel: "[]VString{}",
		Source:      []VString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_String{\"abcde\", \"ΣΦ王普澤世界\", \"普澤世界\"}",
		Target: VList_String{
			"abcde",
			"ΣΦ王普澤世界",
			"普澤世界",
		},
		SourceLabel: "VList_String{\"abcde\", \"ΣΦ王普澤世界\", \"普澤世界\"}",
		Source: VList_String{
			"abcde",
			"ΣΦ王普澤世界",
			"普澤世界",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_String{\"abcde\", \"ΣΦ王普澤世界\", \"普澤世界\"}",
		Target: VList_String{
			"abcde",
			"ΣΦ王普澤世界",
			"普澤世界",
		},
		SourceLabel: "VArray3_VString{\"abcde\", \"ΣΦ王普澤世界\", \"普澤世界\"}",
		Source: VArray3_VString{
			"abcde",
			"ΣΦ王普澤世界",
			"普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VString{}",
		Target:      VList_VString(nil),
		SourceLabel: "VList_VString{}",
		Source:      VList_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VString{}",
		Target:      VList_VString(nil),
		SourceLabel: "VList_VEnumAbc{}",
		Source:      VList_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VString{}",
		Target:      VList_VString(nil),
		SourceLabel: "[]VEnumAbc{}",
		Source:      []VEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VList_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VList_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VList_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VList_VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []VString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VString{\"cde\", \"Σ\"}",
		Target: VList_VString{
			"cde",
			"Σ",
		},
		SourceLabel: "VList_VString{\"cde\", \"Σ\"}",
		Source: VList_VString{
			"cde",
			"Σ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VString{\"cde\", \"Σ\"}",
		Target: VList_VString{
			"cde",
			"Σ",
		},
		SourceLabel: "[]VString{\"cde\", \"Σ\"}",
		Source: []VString{
			"cde",
			"Σ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_TypeObject{}",
		Target:      VList_TypeObject(nil),
		SourceLabel: "VList_TypeObject{}",
		Source:      VList_TypeObject(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_TypeObject{}",
		Target:      VList_TypeObject(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_TypeObject{}",
		Target:      VList_TypeObject(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_TypeObject{typeobject(int64)}",
		Target: VList_TypeObject{
			vdl.Int64Type,
		},
		SourceLabel: "VList_TypeObject{typeobject(int64)}",
		Source: VList_TypeObject{
			vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_TypeObject{typeobject(int64)}",
		Target: VList_TypeObject{
			vdl.Int64Type,
		},
		SourceLabel: "VList_Any{typeobject(int64)}",
		Source: VList_Any{
			vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_TypeObject{typeobject(VUnionDepth2_All)}",
		Target: VList_TypeObject{
			__VDLType_union_195,
		},
		SourceLabel: "VList_TypeObject{typeobject(VUnionDepth2_All)}",
		Source: VList_TypeObject{
			__VDLType_union_195,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_TypeObject{typeobject(VUnionDepth2_All)}",
		Target: VList_TypeObject{
			__VDLType_union_195,
		},
		SourceLabel: "[]typeobject{typeobject(VUnionDepth2_All)}",
		Source: []*vdl.Type{
			__VDLType_union_195,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_Byte(\"\")",
		Target:      VList_Byte(nil),
		SourceLabel: "VList_Byte(\"\")",
		Source:      VList_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Byte(\"\")",
		Target:      VList_Byte(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Byte(\"\")",
		Target:      VList_Byte(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_Byte(\"{\")",
		Target:      VList_Byte("{"),
		SourceLabel: "VList_Byte(\"{\")",
		Source:      VList_Byte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "VList_Byte(\"{\")",
		Target:      VList_Byte("{"),
		SourceLabel: "[]VUint32{123}",
		Source: []VUint32{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_Byte(\"\\xab\\x00\")",
		Target:      VList_Byte("\xab\x00"),
		SourceLabel: "VList_Byte(\"\\xab\\x00\")",
		Source:      VList_Byte("\xab\x00"),
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_Byte(\"\\xab\\x00\")",
		Target:      VList_Byte("\xab\x00"),
		SourceLabel: "VList_VByte(\"\\xab\\x00\")",
		Source:      VList_VByte("\xab\x00"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VByte(\"\")",
		Target:      VList_VByte(nil),
		SourceLabel: "VList_VByte(\"\")",
		Source:      VList_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VByte(\"\")",
		Target:      VList_VByte(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VByte(\"\")",
		Target:      VList_VByte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VByte(\"{\")",
		Target:      VList_VByte("{"),
		SourceLabel: "VList_VByte(\"{\")",
		Source:      VList_VByte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VByte(\"{\")",
		Target:      VList_VByte("{"),
		SourceLabel: "VList_Byte(\"{\")",
		Source:      VList_Byte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VByte(\"U\")",
		Target:      VList_VByte("U"),
		SourceLabel: "VList_VByte(\"U\")",
		Source:      VList_VByte("U"),
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VByte(\"U\")",
		Target:      VList_VByte("U"),
		SourceLabel: "[]VUint32{85}",
		Source: []VUint32{
			85,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VEnumAbc{}",
		Target:      VList_VEnumAbc(nil),
		SourceLabel: "VList_VEnumAbc{}",
		Source:      VList_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VEnumAbc{}",
		Target:      VList_VEnumAbc(nil),
		SourceLabel: "[]string{}",
		Source:      []string(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VEnumAbc{}",
		Target:      VList_VEnumAbc(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VEnumAbc{C}",
		Target: VList_VEnumAbc{
			VEnumAbcC,
		},
		SourceLabel: "VList_VEnumAbc{C}",
		Source: VList_VEnumAbc{
			VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VEnumAbc{C}",
		Target: VList_VEnumAbc{
			VEnumAbcC,
		},
		SourceLabel: "[]VString{\"C\"}",
		Source: []VString{
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VEnumBcd{}",
		Target:      VList_VEnumBcd(nil),
		SourceLabel: "VList_VEnumBcd{}",
		Source:      VList_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VEnumBcd{}",
		Target:      VList_VEnumBcd(nil),
		SourceLabel: "VList_VEnumAbc{}",
		Source:      VList_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VEnumBcd{}",
		Target:      VList_VEnumBcd(nil),
		SourceLabel: "VList_VString{}",
		Source:      VList_VString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VEnumBcd{D}",
		Target: VList_VEnumBcd{
			VEnumBcdD,
		},
		SourceLabel: "VList_VEnumBcd{D}",
		Source: VList_VEnumBcd{
			VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VEnumBcd{D}",
		Target: VList_VEnumBcd{
			VEnumBcdD,
		},
		SourceLabel: "[]any{VEnumBcd.D}",
		Source: []interface{}{
			VEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VStructEmpty{}",
		Target:      VList_VStructEmpty(nil),
		SourceLabel: "VList_VStructEmpty{}",
		Source:      VList_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructEmpty{}",
		Target:      VList_VStructEmpty(nil),
		SourceLabel: "VList_OptVStructDepth2_Set_Float64{}",
		Source:      VList_OptVStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructEmpty{}",
		Target:      VList_VStructEmpty(nil),
		SourceLabel: "VList_OptVStructEmpty{}",
		Source:      VList_OptVStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VStructEmpty{{}}",
		Target: VList_VStructEmpty{
			{},
		},
		SourceLabel: "VList_VStructEmpty{{}}",
		Source: VList_VStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VStructEmpty{{}}",
		Target: VList_VStructEmpty{
			{},
		},
		SourceLabel: "[]VStructDepth1_All{{}}",
		Source: []VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VNamedError{}",
		Target:      VList_VNamedError(nil),
		SourceLabel: "VList_VNamedError{}",
		Source:      VList_VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VNamedError{}",
		Target:      VList_VNamedError(nil),
		SourceLabel: "VList_OptVNamedError{}",
		Source:      VList_OptVNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VNamedError{}",
		Target:      VList_VNamedError(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]?VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []*VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VNamedError{{Id: \"ΠΣΦ王普\"}}",
		Target: VList_VNamedError{
			{
				Id: "ΠΣΦ王普",
			},
		},
		SourceLabel: "VList_VNamedError{{Id: \"ΠΣΦ王普\"}}",
		Source: VList_VNamedError{
			{
				Id: "ΠΣΦ王普",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VNamedError{{Id: \"ΠΣΦ王普\"}}",
		Target: VList_VNamedError{
			{
				Id: "ΠΣΦ王普",
			},
		},
		SourceLabel: "[]any{VNamedError{Id: \"ΠΣΦ王普\"}}",
		Source: []interface{}{
			VNamedError{
				Id: "ΠΣΦ王普",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_Error{}",
		Target:      VList_Error(nil),
		SourceLabel: "VList_Error{}",
		Source:      VList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Error{}",
		Target:      VList_Error(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Error{}",
		Target:      VList_Error(nil),
		SourceLabel: "[]VStructEmpty{}",
		Source:      []VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "VList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]any{error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []interface{}{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_Error{{Id: \"Φ王普\", RetryCode: RetryBackoff, Msg: \"世界\"}, nil}",
		Target: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "Φ王普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "世界",
			}),
			nil,
		},
		SourceLabel: "VList_Error{{Id: \"Φ王普\", RetryCode: RetryBackoff, Msg: \"世界\"}, nil}",
		Source: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "Φ王普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "世界",
			}),
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_Error{{Id: \"Φ王普\", RetryCode: RetryBackoff, Msg: \"世界\"}, nil}",
		Target: VList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "Φ王普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "世界",
			}),
			nil,
		},
		SourceLabel: "[]any{error{Id: \"Φ王普\", RetryCode: RetryBackoff, Msg: \"世界\"}, nil}",
		Source: []interface{}{
			verror.FromWire(&vdl.WireError{
				Id:        "Φ王普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "世界",
			}),
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VUint16{}",
		Target:      VList_VUint16(nil),
		SourceLabel: "VList_VUint16{}",
		Source:      VList_VUint16(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUint16{}",
		Target:      VList_VUint16(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUint16{}",
		Target:      VList_VUint16(nil),
		SourceLabel: "[]int16{}",
		Source:      []int16(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VUint16{123}",
		Target: VList_VUint16{
			123,
		},
		SourceLabel: "VList_VUint16{123}",
		Source: VList_VUint16{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VUint16{123}",
		Target: VList_VUint16{
			123,
		},
		SourceLabel: "VList_VFloat32{123}",
		Source: VList_VFloat32{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VUint16{17328}",
		Target: VList_VUint16{
			17328,
		},
		SourceLabel: "VList_VUint16{17328}",
		Source: VList_VUint16{
			17328,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VUint16{17328}",
		Target: VList_VUint16{
			17328,
		},
		SourceLabel: "VList_Any{VUint16(17328)}",
		Source: VList_Any{
			VUint16(17328),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VFloat32{}",
		Target:      VList_VFloat32(nil),
		SourceLabel: "VList_VFloat32{}",
		Source:      VList_VFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VFloat32{}",
		Target:      VList_VFloat32(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VFloat32{}",
		Target:      VList_VFloat32(nil),
		SourceLabel: "[]VUint32{}",
		Source:      []VUint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VFloat32{1.5}",
		Target: VList_VFloat32{
			1.5,
		},
		SourceLabel: "VList_VFloat32{1.5}",
		Source: VList_VFloat32{
			1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VFloat32{1.5}",
		Target: VList_VFloat32{
			1.5,
		},
		SourceLabel: "VList_Any{VFloat32(1.5)}",
		Source: VList_Any{
			VFloat32(1.5),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VFloat32{-1.2751141e+09}",
		Target: VList_VFloat32{
			-1.2751141e+09,
		},
		SourceLabel: "VList_VFloat32{-1.2751141e+09}",
		Source: VList_VFloat32{
			-1.2751141e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VFloat32{-1.2751141e+09}",
		Target: VList_VFloat32{
			-1.2751141e+09,
		},
		SourceLabel: "[]any{VFloat32(-1.2751141e+09)}",
		Source: []interface{}{
			VFloat32(-1.2751141e+09),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VFloat64{}",
		Target:      VList_VFloat64(nil),
		SourceLabel: "VList_VFloat64{}",
		Source:      VList_VFloat64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VFloat64{}",
		Target:      VList_VFloat64(nil),
		SourceLabel: "[]VByte(\"\")",
		Source:      []VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VFloat64{}",
		Target:      VList_VFloat64(nil),
		SourceLabel: "[]uint32{}",
		Source:      []uint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VFloat64{1.5}",
		Target: VList_VFloat64{
			1.5,
		},
		SourceLabel: "VList_VFloat64{1.5}",
		Source: VList_VFloat64{
			1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VFloat64{1.5}",
		Target: VList_VFloat64{
			1.5,
		},
		SourceLabel: "[]any{VFloat64(1.5)}",
		Source: []interface{}{
			VFloat64(1.5),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VFloat64{1.3840053308817136e+09}",
		Target: VList_VFloat64{
			1.3840053308817136e+09,
		},
		SourceLabel: "VList_VFloat64{1.3840053308817136e+09}",
		Source: VList_VFloat64{
			1.3840053308817136e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VFloat64{1.3840053308817136e+09}",
		Target: VList_VFloat64{
			1.3840053308817136e+09,
		},
		SourceLabel: "VList_Any{VFloat64(1.3840053308817136e+09)}",
		Source: VList_Any{
			VFloat64(1.3840053308817136e+09),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_OptVStructEmpty{}",
		Target:      VList_OptVStructEmpty(nil),
		SourceLabel: "VList_OptVStructEmpty{}",
		Source:      VList_OptVStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructEmpty{}",
		Target:      VList_OptVStructEmpty(nil),
		SourceLabel: "[]error{}",
		Source:      []error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructEmpty{}",
		Target:      VList_OptVStructEmpty(nil),
		SourceLabel: "[]?VStructDepth1_VEnumBcd{}",
		Source:      []*VStructDepth1_VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_OptVStructEmpty{{}}",
		Target: VList_OptVStructEmpty{
			{},
		},
		SourceLabel: "VList_OptVStructEmpty{{}}",
		Source: VList_OptVStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_OptVStructEmpty{{}}",
		Target: VList_OptVStructEmpty{
			{},
		},
		SourceLabel: "VList_Any{?VStructEmpty{}}",
		Source: VList_Any{
			&VStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_OptVNamedError{}",
		Target:      VList_OptVNamedError(nil),
		SourceLabel: "VList_OptVNamedError{}",
		Source:      VList_OptVNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVNamedError{}",
		Target:      VList_OptVNamedError(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVNamedError{}",
		Target:      VList_OptVNamedError(nil),
		SourceLabel: "[]VStructEmpty{}",
		Source:      []VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_OptVNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_OptVNamedError{nil, {Id: \"Φ王普澤世\", Msg: \"abcdeΔΘΠΣΦ王普澤\"}}",
		Target: VList_OptVNamedError{
			nil,
			{
				Id:  "Φ王普澤世",
				Msg: "abcdeΔΘΠΣΦ王普澤",
			},
		},
		SourceLabel: "VList_OptVNamedError{nil, {Id: \"Φ王普澤世\", Msg: \"abcdeΔΘΠΣΦ王普澤\"}}",
		Source: VList_OptVNamedError{
			nil,
			{
				Id:  "Φ王普澤世",
				Msg: "abcdeΔΘΠΣΦ王普澤",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_OptVNamedError{nil, {Id: \"Φ王普澤世\", Msg: \"abcdeΔΘΠΣΦ王普澤\"}}",
		Target: VList_OptVNamedError{
			nil,
			{
				Id:  "Φ王普澤世",
				Msg: "abcdeΔΘΠΣΦ王普澤",
			},
		},
		SourceLabel: "[]any{nil, ?VNamedError{Id: \"Φ王普澤世\", Msg: \"abcdeΔΘΠΣΦ王普澤\"}}",
		Source: []interface{}{
			nil,
			&VNamedError{
				Id:  "Φ王普澤世",
				Msg: "abcdeΔΘΠΣΦ王普澤",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[bool]{}",
		Target:      map[bool]struct{}(nil),
		SourceLabel: "set[bool]{}",
		Source:      map[bool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[bool]{}",
		Target:      map[bool]struct{}(nil),
		SourceLabel: "VSet_Bool{}",
		Source:      VSet_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[bool]{}",
		Target:      map[bool]struct{}(nil),
		SourceLabel: "VSet_VBool{}",
		Source:      VSet_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[bool]{true}",
		Target: map[bool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "set[bool]{true}",
		Source: map[bool]struct{}{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[bool]{true}",
		Target: map[bool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "VSet_Bool{true}",
		Source: VSet_Bool{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VBool]{}",
		Target:      map[VBool]struct{}(nil),
		SourceLabel: "set[VBool]{}",
		Source:      map[VBool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VBool]{}",
		Target:      map[VBool]struct{}(nil),
		SourceLabel: "VSet_Bool{}",
		Source:      VSet_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VBool]{}",
		Target:      map[VBool]struct{}(nil),
		SourceLabel: "set[bool]{}",
		Source:      map[bool]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VBool]{true}",
		Target: map[VBool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "set[VBool]{true}",
		Source: map[VBool]struct{}{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VBool]{true}",
		Target: map[VBool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "VSet_VBool{true}",
		Source: VSet_VBool{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[string]{}",
		Target:      map[string]struct{}(nil),
		SourceLabel: "set[string]{}",
		Source:      map[string]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[string]{}",
		Target:      map[string]struct{}(nil),
		SourceLabel: "VSet_VEnumAbc{}",
		Source:      VSet_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[string]{}",
		Target:      map[string]struct{}(nil),
		SourceLabel: "VSet_VString{}",
		Source:      VSet_VString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[string]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[string]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "set[string]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[string]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[string]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "VSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[string]{\"b\"}",
		Target: map[string]struct{}{
			"b": struct{}{},
		},
		SourceLabel: "set[string]{\"b\"}",
		Source: map[string]struct{}{
			"b": struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[string]{\"b\"}",
		Target: map[string]struct{}{
			"b": struct{}{},
		},
		SourceLabel: "set[VString]{\"b\"}",
		Source: map[VString]struct{}{
			"b": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VString]{}",
		Target:      map[VString]struct{}(nil),
		SourceLabel: "set[VString]{}",
		Source:      map[VString]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VString]{}",
		Target:      map[VString]struct{}(nil),
		SourceLabel: "VSet_VString{}",
		Source:      VSet_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VString]{}",
		Target:      map[VString]struct{}(nil),
		SourceLabel: "set[VEnumBcd]{}",
		Source:      map[VEnumBcd]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[VString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "set[VString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[VString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[VString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "VSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VString]{\"eΔΘΠΣΦ\", \"ΔΘΠΣΦ王普\"}",
		Target: map[VString]struct{}{
			"eΔΘΠΣΦ":  struct{}{},
			"ΔΘΠΣΦ王普": struct{}{},
		},
		SourceLabel: "set[VString]{\"eΔΘΠΣΦ\", \"ΔΘΠΣΦ王普\"}",
		Source: map[VString]struct{}{
			"eΔΘΠΣΦ":  struct{}{},
			"ΔΘΠΣΦ王普": struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VString]{\"eΔΘΠΣΦ\", \"ΔΘΠΣΦ王普\"}",
		Target: map[VString]struct{}{
			"eΔΘΠΣΦ":  struct{}{},
			"ΔΘΠΣΦ王普": struct{}{},
		},
		SourceLabel: "set[string]{\"eΔΘΠΣΦ\", \"ΔΘΠΣΦ王普\"}",
		Source: map[string]struct{}{
			"eΔΘΠΣΦ":  struct{}{},
			"ΔΘΠΣΦ王普": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[byte]{}",
		Target:      map[byte]struct{}(nil),
		SourceLabel: "set[byte]{}",
		Source:      map[byte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[byte]{}",
		Target:      map[byte]struct{}(nil),
		SourceLabel: "set[uint64]{}",
		Source:      map[uint64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[byte]{}",
		Target:      map[byte]struct{}(nil),
		SourceLabel: "set[float64]{}",
		Source:      map[float64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[byte]{123}",
		Target: map[byte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[byte]{123}",
		Source: map[byte]struct{}{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[byte]{123}",
		Target: map[byte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "VSet_VUint64{123}",
		Source: VSet_VUint64{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[byte]{0}",
		Target: map[byte]struct{}{
			0: struct{}{},
		},
		SourceLabel: "set[byte]{0}",
		Source: map[byte]struct{}{
			0: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[byte]{0}",
		Target: map[byte]struct{}{
			0: struct{}{},
		},
		SourceLabel: "set[int32]{0}",
		Source: map[int32]struct{}{
			0: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VByte]{}",
		Target:      map[VByte]struct{}(nil),
		SourceLabel: "set[VByte]{}",
		Source:      map[VByte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VByte]{}",
		Target:      map[VByte]struct{}(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VByte]{}",
		Target:      map[VByte]struct{}(nil),
		SourceLabel: "set[uint64]{}",
		Source:      map[uint64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VByte]{123}",
		Target: map[VByte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[VByte]{123}",
		Source: map[VByte]struct{}{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VByte]{123}",
		Target: map[VByte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[uint64]{123}",
		Source: map[uint64]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VByte]{120, 214}",
		Target: map[VByte]struct{}{
			120: struct{}{},
			214: struct{}{},
		},
		SourceLabel: "set[VByte]{120, 214}",
		Source: map[VByte]struct{}{
			120: struct{}{},
			214: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VByte]{120, 214}",
		Target: map[VByte]struct{}{
			120: struct{}{},
			214: struct{}{},
		},
		SourceLabel: "set[uint64]{120, 214}",
		Source: map[uint64]struct{}{
			120: struct{}{},
			214: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VEnumAbc]{}",
		Target:      map[VEnumAbc]struct{}(nil),
		SourceLabel: "set[VEnumAbc]{}",
		Source:      map[VEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VEnumAbc]{}",
		Target:      map[VEnumAbc]struct{}(nil),
		SourceLabel: "set[VString]{}",
		Source:      map[VString]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VEnumAbc]{}",
		Target:      map[VEnumAbc]struct{}(nil),
		SourceLabel: "set[VEnumBcd]{}",
		Source:      map[VEnumBcd]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VEnumAbc]{C}",
		Target: map[VEnumAbc]struct{}{
			VEnumAbcC: struct{}{},
		},
		SourceLabel: "set[VEnumAbc]{C}",
		Source: map[VEnumAbc]struct{}{
			VEnumAbcC: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VEnumAbc]{C}",
		Target: map[VEnumAbc]struct{}{
			VEnumAbcC: struct{}{},
		},
		SourceLabel: "VSet_VEnumAbc{C}",
		Source: VSet_VEnumAbc{
			VEnumAbcC: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VEnumBcd]{}",
		Target:      map[VEnumBcd]struct{}(nil),
		SourceLabel: "set[VEnumBcd]{}",
		Source:      map[VEnumBcd]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VEnumBcd]{}",
		Target:      map[VEnumBcd]struct{}(nil),
		SourceLabel: "VSet_VString{}",
		Source:      VSet_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VEnumBcd]{}",
		Target:      map[VEnumBcd]struct{}(nil),
		SourceLabel: "set[VEnumAbc]{}",
		Source:      map[VEnumAbc]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VEnumBcd]{D}",
		Target: map[VEnumBcd]struct{}{
			VEnumBcdD: struct{}{},
		},
		SourceLabel: "set[VEnumBcd]{D}",
		Source: map[VEnumBcd]struct{}{
			VEnumBcdD: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VEnumBcd]{D}",
		Target: map[VEnumBcd]struct{}{
			VEnumBcdD: struct{}{},
		},
		SourceLabel: "VSet_VString{\"D\"}",
		Source: VSet_VString{
			"D": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VStructEmpty]{}",
		Target:      map[VStructEmpty]struct{}(nil),
		SourceLabel: "set[VStructEmpty]{}",
		Source:      map[VStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructEmpty]{}",
		Target:      map[VStructEmpty]struct{}(nil),
		SourceLabel: "VSet_VNamedError{}",
		Source:      VSet_VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructEmpty]{}",
		Target:      map[VStructEmpty]struct{}(nil),
		SourceLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Source:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VStructEmpty]{{}}",
		Target: map[VStructEmpty]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[VStructEmpty]{{}}",
		Source: map[VStructEmpty]struct{}{
			{}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VStructEmpty]{{}}",
		Target: map[VStructEmpty]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[VNamedError]{{}}",
		Source: map[VNamedError]struct{}{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VNamedError]{}",
		Target:      map[VNamedError]struct{}(nil),
		SourceLabel: "set[VNamedError]{}",
		Source:      map[VNamedError]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VNamedError]{}",
		Target:      map[VNamedError]struct{}(nil),
		SourceLabel: "set[VStructEmpty]{}",
		Source:      map[VStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VNamedError]{}",
		Target:      map[VNamedError]struct{}(nil),
		SourceLabel: "VSet_VNamedError{}",
		Source:      VSet_VNamedError(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[VNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "VSet_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VNamedError]{{}, {Id: \"eΔΘΠΣΦ\", Msg: \"cd\"}}",
		Target: map[VNamedError]struct{}{
			{}: struct{}{},
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "cd",
			}: struct{}{},
		},
		SourceLabel: "set[VNamedError]{{}, {Id: \"eΔΘΠΣΦ\", Msg: \"cd\"}}",
		Source: map[VNamedError]struct{}{
			{}: struct{}{},
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "cd",
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VNamedError]{{}, {Id: \"eΔΘΠΣΦ\", Msg: \"cd\"}}",
		Target: map[VNamedError]struct{}{
			{}: struct{}{},
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "cd",
			}: struct{}{},
		},
		SourceLabel: "VSet_VNamedError{{}, {Id: \"eΔΘΠΣΦ\", Msg: \"cd\"}}",
		Source: VSet_VNamedError{
			{}: struct{}{},
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "cd",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[uint64]{}",
		Target:      map[uint64]struct{}(nil),
		SourceLabel: "set[uint64]{}",
		Source:      map[uint64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[uint64]{}",
		Target:      map[uint64]struct{}(nil),
		SourceLabel: "set[VByte]{}",
		Source:      map[VByte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[uint64]{}",
		Target:      map[uint64]struct{}(nil),
		SourceLabel: "set[float64]{}",
		Source:      map[float64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[uint64]{123}",
		Target: map[uint64]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[uint64]{123}",
		Source: map[uint64]struct{}{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[uint64]{123}",
		Target: map[uint64]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[byte]{123}",
		Source: map[byte]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[uint64]{14701213371515028262, 15378508280196966871}",
		Target: map[uint64]struct{}{
			14701213371515028262: struct{}{},
			15378508280196966871: struct{}{},
		},
		SourceLabel: "set[uint64]{14701213371515028262, 15378508280196966871}",
		Source: map[uint64]struct{}{
			14701213371515028262: struct{}{},
			15378508280196966871: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[uint64]{14701213371515028262, 15378508280196966871}",
		Target: map[uint64]struct{}{
			14701213371515028262: struct{}{},
			15378508280196966871: struct{}{},
		},
		SourceLabel: "VSet_VUint64{14701213371515028262, 15378508280196966871}",
		Source: VSet_VUint64{
			14701213371515028262: struct{}{},
			15378508280196966871: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[int32]{}",
		Target:      map[int32]struct{}(nil),
		SourceLabel: "set[int32]{}",
		Source:      map[int32]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[int32]{}",
		Target:      map[int32]struct{}(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[int32]{}",
		Target:      map[int32]struct{}(nil),
		SourceLabel: "VSet_VUint64{}",
		Source:      VSet_VUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[int32]{-123}",
		Target: map[int32]struct{}{
			-123: struct{}{},
		},
		SourceLabel: "set[int32]{-123}",
		Source: map[int32]struct{}{
			-123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[int32]{-123}",
		Target: map[int32]struct{}{
			-123: struct{}{},
		},
		SourceLabel: "VSet_Float32{-123}",
		Source: VSet_Float32{
			-123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[int32]{0, 192111764}",
		Target: map[int32]struct{}{
			0:         struct{}{},
			192111764: struct{}{},
		},
		SourceLabel: "set[int32]{0, 192111764}",
		Source: map[int32]struct{}{
			0:         struct{}{},
			192111764: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[int32]{0, 192111764}",
		Target: map[int32]struct{}{
			0:         struct{}{},
			192111764: struct{}{},
		},
		SourceLabel: "set[uint64]{0, 192111764}",
		Source: map[uint64]struct{}{
			0:         struct{}{},
			192111764: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[float64]{}",
		Target:      map[float64]struct{}(nil),
		SourceLabel: "set[float64]{}",
		Source:      map[float64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[float64]{}",
		Target:      map[float64]struct{}(nil),
		SourceLabel: "VSet_VUint64{}",
		Source:      VSet_VUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[float64]{}",
		Target:      map[float64]struct{}(nil),
		SourceLabel: "VSet_VByte{}",
		Source:      VSet_VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[float64]{1.5}",
		Target: map[float64]struct{}{
			1.5: struct{}{},
		},
		SourceLabel: "set[float64]{1.5}",
		Source: map[float64]struct{}{
			1.5: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[float64]{1.5}",
		Target: map[float64]struct{}{
			1.5: struct{}{},
		},
		SourceLabel: "VSet_Float32{1.5}",
		Source: VSet_Float32{
			1.5: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[float64]{-1.2778241096583495e+08, 2.9710120759385133e+09, 9.868059949677039e+08}",
		Target: map[float64]struct{}{
			-1.2778241096583495e+08: struct{}{},
			2.9710120759385133e+09:  struct{}{},
			9.868059949677039e+08:   struct{}{},
		},
		SourceLabel: "set[float64]{-1.2778241096583495e+08, 2.9710120759385133e+09, 9.868059949677039e+08}",
		Source: map[float64]struct{}{
			-1.2778241096583495e+08: struct{}{},
			2.9710120759385133e+09:  struct{}{},
			9.868059949677039e+08:   struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_Bool{}",
		Target:      VSet_Bool(nil),
		SourceLabel: "VSet_Bool{}",
		Source:      VSet_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Bool{}",
		Target:      VSet_Bool(nil),
		SourceLabel: "set[VBool]{}",
		Source:      map[VBool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Bool{}",
		Target:      VSet_Bool(nil),
		SourceLabel: "VSet_VBool{}",
		Source:      VSet_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_Bool{true}",
		Target: VSet_Bool{
			true: struct{}{},
		},
		SourceLabel: "VSet_Bool{true}",
		Source: VSet_Bool{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_Bool{true}",
		Target: VSet_Bool{
			true: struct{}{},
		},
		SourceLabel: "VSet_VBool{true}",
		Source: VSet_VBool{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VBool{}",
		Target:      VSet_VBool(nil),
		SourceLabel: "VSet_VBool{}",
		Source:      VSet_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VBool{}",
		Target:      VSet_VBool(nil),
		SourceLabel: "VSet_Bool{}",
		Source:      VSet_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VBool{}",
		Target:      VSet_VBool(nil),
		SourceLabel: "set[VBool]{}",
		Source:      map[VBool]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VBool{true}",
		Target: VSet_VBool{
			true: struct{}{},
		},
		SourceLabel: "VSet_VBool{true}",
		Source: VSet_VBool{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VBool{true}",
		Target: VSet_VBool{
			true: struct{}{},
		},
		SourceLabel: "set[bool]{true}",
		Source: map[bool]struct{}{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_String{}",
		Target:      VSet_String(nil),
		SourceLabel: "VSet_String{}",
		Source:      VSet_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_String{}",
		Target:      VSet_String(nil),
		SourceLabel: "VSet_VEnumAbc{}",
		Source:      VSet_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_String{}",
		Target:      VSet_String(nil),
		SourceLabel: "VSet_VEnumBcd{}",
		Source:      VSet_VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "VSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "VSet_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VSet_VString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_String{\"abc\", \"Φ王\"}",
		Target: VSet_String{
			"abc": struct{}{},
			"Φ王":  struct{}{},
		},
		SourceLabel: "VSet_String{\"abc\", \"Φ王\"}",
		Source: VSet_String{
			"abc": struct{}{},
			"Φ王":  struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_String{\"abc\", \"Φ王\"}",
		Target: VSet_String{
			"abc": struct{}{},
			"Φ王":  struct{}{},
		},
		SourceLabel: "set[VString]{\"abc\", \"Φ王\"}",
		Source: map[VString]struct{}{
			"abc": struct{}{},
			"Φ王":  struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VString{}",
		Target:      VSet_VString(nil),
		SourceLabel: "VSet_VString{}",
		Source:      VSet_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VString{}",
		Target:      VSet_VString(nil),
		SourceLabel: "set[string]{}",
		Source:      map[string]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VString{}",
		Target:      VSet_VString(nil),
		SourceLabel: "set[VEnumBcd]{}",
		Source:      map[VEnumBcd]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VSet_VString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "VSet_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VSet_VString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VSet_VString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "set[string]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VString{\"\", \"d\", \"ΠΣΦ\"}",
		Target: VSet_VString{
			"":    struct{}{},
			"d":   struct{}{},
			"ΠΣΦ": struct{}{},
		},
		SourceLabel: "VSet_VString{\"\", \"d\", \"ΠΣΦ\"}",
		Source: VSet_VString{
			"":    struct{}{},
			"d":   struct{}{},
			"ΠΣΦ": struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VString{\"\", \"d\", \"ΠΣΦ\"}",
		Target: VSet_VString{
			"":    struct{}{},
			"d":   struct{}{},
			"ΠΣΦ": struct{}{},
		},
		SourceLabel: "VSet_String{\"\", \"d\", \"ΠΣΦ\"}",
		Source: VSet_String{
			"":    struct{}{},
			"d":   struct{}{},
			"ΠΣΦ": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_Byte{}",
		Target:      VSet_Byte(nil),
		SourceLabel: "VSet_Byte{}",
		Source:      VSet_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Byte{}",
		Target:      VSet_Byte(nil),
		SourceLabel: "set[byte]{}",
		Source:      map[byte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Byte{}",
		Target:      VSet_Byte(nil),
		SourceLabel: "VSet_VByte{}",
		Source:      VSet_VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_Byte{123}",
		Target: VSet_Byte{
			123: struct{}{},
		},
		SourceLabel: "VSet_Byte{123}",
		Source: VSet_Byte{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_Byte{123}",
		Target: VSet_Byte{
			123: struct{}{},
		},
		SourceLabel: "set[byte]{123}",
		Source: map[byte]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_Byte{0, 133, 170}",
		Target: VSet_Byte{
			0:   struct{}{},
			133: struct{}{},
			170: struct{}{},
		},
		SourceLabel: "VSet_Byte{0, 133, 170}",
		Source: VSet_Byte{
			0:   struct{}{},
			133: struct{}{},
			170: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_Byte{0, 133, 170}",
		Target: VSet_Byte{
			0:   struct{}{},
			133: struct{}{},
			170: struct{}{},
		},
		SourceLabel: "set[byte]{0, 133, 170}",
		Source: map[byte]struct{}{
			0:   struct{}{},
			133: struct{}{},
			170: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VByte{}",
		Target:      VSet_VByte(nil),
		SourceLabel: "VSet_VByte{}",
		Source:      VSet_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VByte{}",
		Target:      VSet_VByte(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VByte{}",
		Target:      VSet_VByte(nil),
		SourceLabel: "VSet_VUint64{}",
		Source:      VSet_VUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VByte{123}",
		Target: VSet_VByte{
			123: struct{}{},
		},
		SourceLabel: "VSet_VByte{123}",
		Source: VSet_VByte{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VByte{123}",
		Target: VSet_VByte{
			123: struct{}{},
		},
		SourceLabel: "VSet_Byte{123}",
		Source: VSet_Byte{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VByte{10, 122}",
		Target: VSet_VByte{
			10:  struct{}{},
			122: struct{}{},
		},
		SourceLabel: "VSet_VByte{10, 122}",
		Source: VSet_VByte{
			10:  struct{}{},
			122: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VByte{10, 122}",
		Target: VSet_VByte{
			10:  struct{}{},
			122: struct{}{},
		},
		SourceLabel: "set[float64]{10, 122}",
		Source: map[float64]struct{}{
			10:  struct{}{},
			122: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VEnumAbc{}",
		Target:      VSet_VEnumAbc(nil),
		SourceLabel: "VSet_VEnumAbc{}",
		Source:      VSet_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VEnumAbc{}",
		Target:      VSet_VEnumAbc(nil),
		SourceLabel: "VSet_VString{}",
		Source:      VSet_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VEnumAbc{}",
		Target:      VSet_VEnumAbc(nil),
		SourceLabel: "VSet_String{}",
		Source:      VSet_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VEnumAbc{C}",
		Target: VSet_VEnumAbc{
			VEnumAbcC: struct{}{},
		},
		SourceLabel: "VSet_VEnumAbc{C}",
		Source: VSet_VEnumAbc{
			VEnumAbcC: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VEnumAbc{C}",
		Target: VSet_VEnumAbc{
			VEnumAbcC: struct{}{},
		},
		SourceLabel: "VSet_String{\"C\"}",
		Source: VSet_String{
			"C": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VEnumBcd{}",
		Target:      VSet_VEnumBcd(nil),
		SourceLabel: "VSet_VEnumBcd{}",
		Source:      VSet_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VEnumBcd{}",
		Target:      VSet_VEnumBcd(nil),
		SourceLabel: "set[string]{}",
		Source:      map[string]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VEnumBcd{}",
		Target:      VSet_VEnumBcd(nil),
		SourceLabel: "VSet_VEnumAbc{}",
		Source:      VSet_VEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VEnumBcd{D}",
		Target: VSet_VEnumBcd{
			VEnumBcdD: struct{}{},
		},
		SourceLabel: "VSet_VEnumBcd{D}",
		Source: VSet_VEnumBcd{
			VEnumBcdD: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VEnumBcd{D}",
		Target: VSet_VEnumBcd{
			VEnumBcdD: struct{}{},
		},
		SourceLabel: "VSet_VString{\"D\"}",
		Source: VSet_VString{
			"D": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VStructEmpty{}",
		Target:      VSet_VStructEmpty(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructEmpty{}",
		Target:      VSet_VStructEmpty(nil),
		SourceLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Source:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructEmpty{}",
		Target:      VSet_VStructEmpty(nil),
		SourceLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Source:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VStructEmpty{{}}",
		Target: VSet_VStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "VSet_VStructEmpty{{}}",
		Source: VSet_VStructEmpty{
			{}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VStructEmpty{{}}",
		Target: VSet_VStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "set[VStructEmpty]{{}}",
		Source: map[VStructEmpty]struct{}{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VNamedError{}",
		Target:      VSet_VNamedError(nil),
		SourceLabel: "VSet_VNamedError{}",
		Source:      VSet_VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VNamedError{}",
		Target:      VSet_VNamedError(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VNamedError{}",
		Target:      VSet_VNamedError(nil),
		SourceLabel: "set[VNamedError]{}",
		Source:      map[VNamedError]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "VSet_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[VNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VNamedError{{Id: \"ΔΘΠ\", Msg: \"王普澤\"}}",
		Target: VSet_VNamedError{
			{
				Id:  "ΔΘΠ",
				Msg: "王普澤",
			}: struct{}{},
		},
		SourceLabel: "VSet_VNamedError{{Id: \"ΔΘΠ\", Msg: \"王普澤\"}}",
		Source: VSet_VNamedError{
			{
				Id:  "ΔΘΠ",
				Msg: "王普澤",
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VNamedError{{Id: \"ΔΘΠ\", Msg: \"王普澤\"}}",
		Target: VSet_VNamedError{
			{
				Id:  "ΔΘΠ",
				Msg: "王普澤",
			}: struct{}{},
		},
		SourceLabel: "set[VNamedError]{{Id: \"ΔΘΠ\", Msg: \"王普澤\"}}",
		Source: map[VNamedError]struct{}{
			{
				Id:  "ΔΘΠ",
				Msg: "王普澤",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_Uint64{}",
		Target:      VSet_Uint64(nil),
		SourceLabel: "VSet_Uint64{}",
		Source:      VSet_Uint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Uint64{}",
		Target:      VSet_Uint64(nil),
		SourceLabel: "VSet_Byte{}",
		Source:      VSet_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Uint64{}",
		Target:      VSet_Uint64(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_Uint64{123}",
		Target: VSet_Uint64{
			123: struct{}{},
		},
		SourceLabel: "VSet_Uint64{123}",
		Source: VSet_Uint64{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_Uint64{123}",
		Target: VSet_Uint64{
			123: struct{}{},
		},
		SourceLabel: "VSet_VByte{123}",
		Source: VSet_VByte{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_Uint64{17369014864449492905, 2226585770067135388}",
		Target: VSet_Uint64{
			17369014864449492905: struct{}{},
			2226585770067135388:  struct{}{},
		},
		SourceLabel: "VSet_Uint64{17369014864449492905, 2226585770067135388}",
		Source: VSet_Uint64{
			17369014864449492905: struct{}{},
			2226585770067135388:  struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_Uint64{17369014864449492905, 2226585770067135388}",
		Target: VSet_Uint64{
			17369014864449492905: struct{}{},
			2226585770067135388:  struct{}{},
		},
		SourceLabel: "set[uint64]{17369014864449492905, 2226585770067135388}",
		Source: map[uint64]struct{}{
			17369014864449492905: struct{}{},
			2226585770067135388:  struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VUint64{}",
		Target:      VSet_VUint64(nil),
		SourceLabel: "VSet_VUint64{}",
		Source:      VSet_VUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VUint64{}",
		Target:      VSet_VUint64(nil),
		SourceLabel: "set[byte]{}",
		Source:      map[byte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VUint64{}",
		Target:      VSet_VUint64(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VUint64{123}",
		Target: VSet_VUint64{
			123: struct{}{},
		},
		SourceLabel: "VSet_VUint64{123}",
		Source: VSet_VUint64{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VUint64{123}",
		Target: VSet_VUint64{
			123: struct{}{},
		},
		SourceLabel: "set[byte]{123}",
		Source: map[byte]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VUint64{6599493238234350266}",
		Target: VSet_VUint64{
			6599493238234350266: struct{}{},
		},
		SourceLabel: "VSet_VUint64{6599493238234350266}",
		Source: VSet_VUint64{
			6599493238234350266: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VUint64{6599493238234350266}",
		Target: VSet_VUint64{
			6599493238234350266: struct{}{},
		},
		SourceLabel: "VSet_Uint64{6599493238234350266}",
		Source: VSet_Uint64{
			6599493238234350266: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_Float32{}",
		Target:      VSet_Float32(nil),
		SourceLabel: "VSet_Float32{}",
		Source:      VSet_Float32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Float32{}",
		Target:      VSet_Float32(nil),
		SourceLabel: "VSet_VByte{}",
		Source:      VSet_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_Float32{}",
		Target:      VSet_Float32(nil),
		SourceLabel: "VSet_Uint64{}",
		Source:      VSet_Uint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_Float32{1.5}",
		Target: VSet_Float32{
			1.5: struct{}{},
		},
		SourceLabel: "VSet_Float32{1.5}",
		Source: VSet_Float32{
			1.5: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_Float32{1.5}",
		Target: VSet_Float32{
			1.5: struct{}{},
		},
		SourceLabel: "set[float64]{1.5}",
		Source: map[float64]struct{}{
			1.5: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_Float32{-1.0462917e+09, 0, 1.6149151e+09}",
		Target: VSet_Float32{
			-1.0462917e+09: struct{}{},
			0:              struct{}{},
			1.6149151e+09:  struct{}{},
		},
		SourceLabel: "VSet_Float32{-1.0462917e+09, 0, 1.6149151e+09}",
		Source: VSet_Float32{
			-1.0462917e+09: struct{}{},
			0:              struct{}{},
			1.6149151e+09:  struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_Float32{-1.0462917e+09, 0, 1.6149151e+09}",
		Target: VSet_Float32{
			-1.0462917e+09: struct{}{},
			0:              struct{}{},
			1.6149151e+09:  struct{}{},
		},
		SourceLabel: "set[float64]{-1.0462917096148703e+09, 0, 1.6149150712494802e+09}",
		Source: map[float64]struct{}{
			-1.0462917096148703e+09: struct{}{},
			0: struct{}{},
			1.6149150712494802e+09: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[bool]bool{}",
		Target:      map[bool]bool(nil),
		SourceLabel: "map[bool]bool{}",
		Source:      map[bool]bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[bool]bool{}",
		Target:      map[bool]bool(nil),
		SourceLabel: "VMap_Bool_Bool{}",
		Source:      VMap_Bool_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[bool]bool{}",
		Target:      map[bool]bool(nil),
		SourceLabel: "map[VBool]VBool{}",
		Source:      map[VBool]VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[bool]bool{true: true}",
		Target: map[bool]bool{
			true: true,
		},
		SourceLabel: "map[bool]bool{true: true}",
		Source: map[bool]bool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[bool]bool{true: true}",
		Target: map[bool]bool{
			true: true,
		},
		SourceLabel: "map[VBool]VBool{true: true}",
		Source: map[VBool]VBool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VBool]VBool{}",
		Target:      map[VBool]VBool(nil),
		SourceLabel: "map[VBool]VBool{}",
		Source:      map[VBool]VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VBool]VBool{}",
		Target:      map[VBool]VBool(nil),
		SourceLabel: "VMap_Bool_Bool{}",
		Source:      VMap_Bool_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VBool]VBool{}",
		Target:      map[VBool]VBool(nil),
		SourceLabel: "VMap_VBool_VBool{}",
		Source:      VMap_VBool_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VBool]VBool{true: true}",
		Target: map[VBool]VBool{
			true: true,
		},
		SourceLabel: "map[VBool]VBool{true: true}",
		Source: map[VBool]VBool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VBool]VBool{true: true}",
		Target: map[VBool]VBool{
			true: true,
		},
		SourceLabel: "VMap_Bool_Bool{true: true}",
		Source: VMap_Bool_Bool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[string]string{}",
		Target:      map[string]string(nil),
		SourceLabel: "map[string]string{}",
		Source:      map[string]string(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[string]string{}",
		Target:      map[string]string(nil),
		SourceLabel: "map[VEnumAbc]VEnumAbc{}",
		Source:      map[VEnumAbc]VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[string]string{}",
		Target:      map[string]string(nil),
		SourceLabel: "map[VEnumBcd]VEnumBcd{}",
		Source:      map[VEnumBcd]VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VMap_VString_VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VMap_VString_VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[string]string{\"abcdeΔ\": \"Θ\", \"ΘΠΣΦ王普澤\": \"ΔΘ\"}",
		Target: map[string]string{
			"abcdeΔ":  "Θ",
			"ΘΠΣΦ王普澤": "ΔΘ",
		},
		SourceLabel: "map[string]string{\"abcdeΔ\": \"Θ\", \"ΘΠΣΦ王普澤\": \"ΔΘ\"}",
		Source: map[string]string{
			"abcdeΔ":  "Θ",
			"ΘΠΣΦ王普澤": "ΔΘ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[string]string{\"abcdeΔ\": \"Θ\", \"ΘΠΣΦ王普澤\": \"ΔΘ\"}",
		Target: map[string]string{
			"abcdeΔ":  "Θ",
			"ΘΠΣΦ王普澤": "ΔΘ",
		},
		SourceLabel: "map[VString]VString{\"abcdeΔ\": \"Θ\", \"ΘΠΣΦ王普澤\": \"ΔΘ\"}",
		Source: map[VString]VString{
			"abcdeΔ":  "Θ",
			"ΘΠΣΦ王普澤": "ΔΘ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VString]VString{}",
		Target:      map[VString]VString(nil),
		SourceLabel: "map[VString]VString{}",
		Source:      map[VString]VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VString]VString{}",
		Target:      map[VString]VString(nil),
		SourceLabel: "map[VEnumBcd]VEnumBcd{}",
		Source:      map[VEnumBcd]VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VString]VString{}",
		Target:      map[VString]VString(nil),
		SourceLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Source:      VMap_VEnumBcd_VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VString]VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[VString]VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[VString]VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[VString]VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VString]VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[VString]VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VMap_VString_VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VMap_VString_VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VString]VString{\"deΔΘΠΣ\": \"ΠΣΦ王普澤世\", \"王\": \"ΔΘΠΣ\"}",
		Target: map[VString]VString{
			"deΔΘΠΣ": "ΠΣΦ王普澤世",
			"王":      "ΔΘΠΣ",
		},
		SourceLabel: "map[VString]VString{\"deΔΘΠΣ\": \"ΠΣΦ王普澤世\", \"王\": \"ΔΘΠΣ\"}",
		Source: map[VString]VString{
			"deΔΘΠΣ": "ΠΣΦ王普澤世",
			"王":      "ΔΘΠΣ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[VString]VString{\"deΔΘΠΣ\": \"ΠΣΦ王普澤世\", \"王\": \"ΔΘΠΣ\"}",
		Target: map[VString]VString{
			"deΔΘΠΣ": "ΠΣΦ王普澤世",
			"王":      "ΔΘΠΣ",
		},
		SourceLabel: "VMap_String_String{\"deΔΘΠΣ\": \"ΠΣΦ王普澤世\", \"王\": \"ΔΘΠΣ\"}",
		Source: VMap_String_String{
			"deΔΘΠΣ": "ΠΣΦ王普澤世",
			"王":      "ΔΘΠΣ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[byte]byte{}",
		Target:      map[byte]byte(nil),
		SourceLabel: "map[byte]byte{}",
		Source:      map[byte]byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[byte]byte{}",
		Target:      map[byte]byte(nil),
		SourceLabel: "VMap_Byte_Byte{}",
		Source:      VMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[byte]byte{}",
		Target:      map[byte]byte(nil),
		SourceLabel: "map[uint32]uint32{}",
		Source:      map[uint32]uint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[byte]byte{123: 123}",
		Target: map[byte]byte{
			123: 123,
		},
		SourceLabel: "map[byte]byte{123: 123}",
		Source: map[byte]byte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[byte]byte{123: 123}",
		Target: map[byte]byte{
			123: 123,
		},
		SourceLabel: "VMap_VByte_VByte{123: 123}",
		Source: VMap_VByte_VByte{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[byte]byte{0: 205, 131: 246, 28: 50}",
		Target: map[byte]byte{
			0:   205,
			131: 246,
			28:  50,
		},
		SourceLabel: "map[byte]byte{0: 205, 131: 246, 28: 50}",
		Source: map[byte]byte{
			0:   205,
			131: 246,
			28:  50,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[byte]byte{0: 205, 131: 246, 28: 50}",
		Target: map[byte]byte{
			0:   205,
			131: 246,
			28:  50,
		},
		SourceLabel: "VMap_VByte_VByte{0: 205, 131: 246, 28: 50}",
		Source: VMap_VByte_VByte{
			0:   205,
			131: 246,
			28:  50,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VByte]VByte{}",
		Target:      map[VByte]VByte(nil),
		SourceLabel: "map[VByte]VByte{}",
		Source:      map[VByte]VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VByte]VByte{}",
		Target:      map[VByte]VByte(nil),
		SourceLabel: "VMap_VByte_VByte{}",
		Source:      VMap_VByte_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VByte]VByte{}",
		Target:      map[VByte]VByte(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VByte]VByte{123: 123}",
		Target: map[VByte]VByte{
			123: 123,
		},
		SourceLabel: "map[VByte]VByte{123: 123}",
		Source: map[VByte]VByte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VByte]VByte{123: 123}",
		Target: map[VByte]VByte{
			123: 123,
		},
		SourceLabel: "VMap_VByte_VByte{123: 123}",
		Source: VMap_VByte_VByte{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VByte]VByte{232: 210}",
		Target: map[VByte]VByte{
			232: 210,
		},
		SourceLabel: "map[VByte]VByte{232: 210}",
		Source: map[VByte]VByte{
			232: 210,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[VByte]VByte{232: 210}",
		Target: map[VByte]VByte{
			232: 210,
		},
		SourceLabel: "VMap_Int64_Int64{232: 210}",
		Source: VMap_Int64_Int64{
			232: 210,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VEnumAbc]VEnumAbc{}",
		Target:      map[VEnumAbc]VEnumAbc(nil),
		SourceLabel: "map[VEnumAbc]VEnumAbc{}",
		Source:      map[VEnumAbc]VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VEnumAbc]VEnumAbc{}",
		Target:      map[VEnumAbc]VEnumAbc(nil),
		SourceLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Source:      VMap_VEnumBcd_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VEnumAbc]VEnumAbc{}",
		Target:      map[VEnumAbc]VEnumAbc(nil),
		SourceLabel: "map[VString]VString{}",
		Source:      map[VString]VString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VEnumAbc]VEnumAbc{C: C}",
		Target: map[VEnumAbc]VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
		SourceLabel: "map[VEnumAbc]VEnumAbc{C: C}",
		Source: map[VEnumAbc]VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VEnumAbc]VEnumAbc{C: C}",
		Target: map[VEnumAbc]VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
		SourceLabel: "VMap_VString_VString{\"C\": \"C\"}",
		Source: VMap_VString_VString{
			"C": "C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VEnumBcd]VEnumBcd{}",
		Target:      map[VEnumBcd]VEnumBcd(nil),
		SourceLabel: "map[VEnumBcd]VEnumBcd{}",
		Source:      map[VEnumBcd]VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VEnumBcd]VEnumBcd{}",
		Target:      map[VEnumBcd]VEnumBcd(nil),
		SourceLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Source:      VMap_VEnumAbc_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VEnumBcd]VEnumBcd{}",
		Target:      map[VEnumBcd]VEnumBcd(nil),
		SourceLabel: "map[string]string{}",
		Source:      map[string]string(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VEnumBcd]VEnumBcd{D: D}",
		Target: map[VEnumBcd]VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
		SourceLabel: "map[VEnumBcd]VEnumBcd{D: D}",
		Source: map[VEnumBcd]VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VEnumBcd]VEnumBcd{D: D}",
		Target: map[VEnumBcd]VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
		SourceLabel: "map[VString]VString{\"D\": \"D\"}",
		Source: map[VString]VString{
			"D": "D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VStructEmpty]VStructEmpty{}",
		Target:      map[VStructEmpty]VStructEmpty(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructEmpty]VStructEmpty{}",
		Target:      map[VStructEmpty]VStructEmpty(nil),
		SourceLabel: "map[VStructDepth1_String]VStructDepth1_String{}",
		Source:      map[VStructDepth1_String]VStructDepth1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructEmpty]VStructEmpty{}",
		Target:      map[VStructEmpty]VStructEmpty(nil),
		SourceLabel: "VMap_VNamedError_VNamedError{}",
		Source:      VMap_VNamedError_VNamedError(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VStructEmpty]VStructEmpty{{}: {}}",
		Target: map[VStructEmpty]VStructEmpty{
			{}: {},
		},
		SourceLabel: "map[VStructEmpty]VStructEmpty{{}: {}}",
		Source: map[VStructEmpty]VStructEmpty{
			{}: {},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VStructEmpty]VStructEmpty{{}: {}}",
		Target: map[VStructEmpty]VStructEmpty{
			{}: {},
		},
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{{}: {}}",
		Source: VMap_VStructEmpty_VStructEmpty{
			{}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VNamedError]VNamedError{}",
		Target:      map[VNamedError]VNamedError(nil),
		SourceLabel: "map[VNamedError]VNamedError{}",
		Source:      map[VNamedError]VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VNamedError]VNamedError{}",
		Target:      map[VNamedError]VNamedError(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VNamedError]VNamedError{}",
		Target:      map[VNamedError]VNamedError(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VNamedError]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VNamedError]VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[VNamedError]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VNamedError]VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VNamedError]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VNamedError]VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VMap_VNamedError_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VMap_VNamedError_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VNamedError]VNamedError{{Id: \"ΘΠ\"}: {Msg: \"ΣΦ王\"}}",
		Target: map[VNamedError]VNamedError{
			{
				Id: "ΘΠ",
			}: {
				Msg: "ΣΦ王",
			},
		},
		SourceLabel: "map[VNamedError]VNamedError{{Id: \"ΘΠ\"}: {Msg: \"ΣΦ王\"}}",
		Source: map[VNamedError]VNamedError{
			{
				Id: "ΘΠ",
			}: {
				Msg: "ΣΦ王",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[VNamedError]VNamedError{{Id: \"ΘΠ\"}: {Msg: \"ΣΦ王\"}}",
		Target: map[VNamedError]VNamedError{
			{
				Id: "ΘΠ",
			}: {
				Msg: "ΣΦ王",
			},
		},
		SourceLabel: "VMap_VNamedError_VNamedError{{Id: \"ΘΠ\"}: {Msg: \"ΣΦ王\"}}",
		Source: VMap_VNamedError_VNamedError{
			{
				Id: "ΘΠ",
			}: {
				Msg: "ΣΦ王",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[uint32]uint32{}",
		Target:      map[uint32]uint32(nil),
		SourceLabel: "map[uint32]uint32{}",
		Source:      map[uint32]uint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[uint32]uint32{}",
		Target:      map[uint32]uint32(nil),
		SourceLabel: "VMap_Int64_Int64{}",
		Source:      VMap_Int64_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[uint32]uint32{}",
		Target:      map[uint32]uint32(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[uint32]uint32{123: 123}",
		Target: map[uint32]uint32{
			123: 123,
		},
		SourceLabel: "map[uint32]uint32{123: 123}",
		Source: map[uint32]uint32{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[uint32]uint32{123: 123}",
		Target: map[uint32]uint32{
			123: 123,
		},
		SourceLabel: "VMap_VInt32_VInt32{123: 123}",
		Source: VMap_VInt32_VInt32{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[uint32]uint32{244133376: 0, 2547477777: 1225449302}",
		Target: map[uint32]uint32{
			244133376:  0,
			2547477777: 1225449302,
		},
		SourceLabel: "map[uint32]uint32{244133376: 0, 2547477777: 1225449302}",
		Source: map[uint32]uint32{
			244133376:  0,
			2547477777: 1225449302,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[uint32]uint32{244133376: 0, 2547477777: 1225449302}",
		Target: map[uint32]uint32{
			244133376:  0,
			2547477777: 1225449302,
		},
		SourceLabel: "VMap_Int64_Int64{244133376: 0, 2547477777: 1225449302}",
		Source: VMap_Int64_Int64{
			244133376:  0,
			2547477777: 1225449302,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VUint64]VUint64{}",
		Target:      map[VUint64]VUint64(nil),
		SourceLabel: "map[VUint64]VUint64{}",
		Source:      map[VUint64]VUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VUint64]VUint64{}",
		Target:      map[VUint64]VUint64(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VUint64]VUint64{}",
		Target:      map[VUint64]VUint64(nil),
		SourceLabel: "VMap_VInt32_VInt32{}",
		Source:      VMap_VInt32_VInt32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VUint64]VUint64{123: 123}",
		Target: map[VUint64]VUint64{
			123: 123,
		},
		SourceLabel: "map[VUint64]VUint64{123: 123}",
		Source: map[VUint64]VUint64{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VUint64]VUint64{123: 123}",
		Target: map[VUint64]VUint64{
			123: 123,
		},
		SourceLabel: "map[VInt8]VInt8{123: 123}",
		Source: map[VInt8]VInt8{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VUint64]VUint64{5141443171982337235: 9545256992548915594, 9505225024318949075: 7144566758140319083}",
		Target: map[VUint64]VUint64{
			5141443171982337235: 9545256992548915594,
			9505225024318949075: 7144566758140319083,
		},
		SourceLabel: "map[VUint64]VUint64{5141443171982337235: 9545256992548915594, 9505225024318949075: 7144566758140319083}",
		Source: map[VUint64]VUint64{
			5141443171982337235: 9545256992548915594,
			9505225024318949075: 7144566758140319083,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VInt8]VInt8{}",
		Target:      map[VInt8]VInt8(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VInt8]VInt8{}",
		Target:      map[VInt8]VInt8(nil),
		SourceLabel: "VMap_VUint32_VUint32{}",
		Source:      VMap_VUint32_VUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VInt8]VInt8{}",
		Target:      map[VInt8]VInt8(nil),
		SourceLabel: "map[VByte]VByte{}",
		Source:      map[VByte]VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VInt8]VInt8{-123: -123}",
		Target: map[VInt8]VInt8{
			-123: -123,
		},
		SourceLabel: "map[VInt8]VInt8{-123: -123}",
		Source: map[VInt8]VInt8{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VInt8]VInt8{-123: -123}",
		Target: map[VInt8]VInt8{
			-123: -123,
		},
		SourceLabel: "VMap_VInt32_VInt32{-123: -123}",
		Source: VMap_VInt32_VInt32{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VInt8]VInt8{-12: -21, -30: -7, 0: 13}",
		Target: map[VInt8]VInt8{
			-12: -21,
			-30: -7,
			0:   13,
		},
		SourceLabel: "map[VInt8]VInt8{-12: -21, -30: -7, 0: 13}",
		Source: map[VInt8]VInt8{
			-12: -21,
			-30: -7,
			0:   13,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[VInt8]VInt8{-12: -21, -30: -7, 0: 13}",
		Target: map[VInt8]VInt8{
			-12: -21,
			-30: -7,
			0:   13,
		},
		SourceLabel: "VMap_VInt32_VInt32{-12: -21, -30: -7, 0: 13}",
		Source: VMap_VInt32_VInt32{
			-12: -21,
			-30: -7,
			0:   13,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_Bool_Bool{}",
		Target:      VMap_Bool_Bool(nil),
		SourceLabel: "VMap_Bool_Bool{}",
		Source:      VMap_Bool_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Bool_Bool{}",
		Target:      VMap_Bool_Bool(nil),
		SourceLabel: "VMap_VBool_VBool{}",
		Source:      VMap_VBool_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Bool_Bool{}",
		Target:      VMap_Bool_Bool(nil),
		SourceLabel: "map[VBool]VBool{}",
		Source:      map[VBool]VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_Bool_Bool{true: true}",
		Target: VMap_Bool_Bool{
			true: true,
		},
		SourceLabel: "VMap_Bool_Bool{true: true}",
		Source: VMap_Bool_Bool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_Bool_Bool{true: true}",
		Target: VMap_Bool_Bool{
			true: true,
		},
		SourceLabel: "map[bool]bool{true: true}",
		Source: map[bool]bool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VBool_VBool{}",
		Target:      VMap_VBool_VBool(nil),
		SourceLabel: "VMap_VBool_VBool{}",
		Source:      VMap_VBool_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VBool_VBool{}",
		Target:      VMap_VBool_VBool(nil),
		SourceLabel: "map[bool]bool{}",
		Source:      map[bool]bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VBool_VBool{}",
		Target:      VMap_VBool_VBool(nil),
		SourceLabel: "map[VBool]VBool{}",
		Source:      map[VBool]VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VBool_VBool{true: true}",
		Target: VMap_VBool_VBool{
			true: true,
		},
		SourceLabel: "VMap_VBool_VBool{true: true}",
		Source: VMap_VBool_VBool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VBool_VBool{true: true}",
		Target: VMap_VBool_VBool{
			true: true,
		},
		SourceLabel: "VMap_Bool_Bool{true: true}",
		Source: VMap_Bool_Bool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_String_String{}",
		Target:      VMap_String_String(nil),
		SourceLabel: "VMap_String_String{}",
		Source:      VMap_String_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_String_String{}",
		Target:      VMap_String_String(nil),
		SourceLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Source:      VMap_VEnumAbc_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_String_String{}",
		Target:      VMap_String_String(nil),
		SourceLabel: "map[VString]VString{}",
		Source:      map[VString]VString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[VString]VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[VString]VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_String_String{\"\": \"\", \"eΔΘΠΣΦ王普澤\": \"cd\", \"Π\": \"deΔΘΠΣΦ\"}",
		Target: VMap_String_String{
			"": "",
			"eΔΘΠΣΦ王普澤": "cd",
			"Π": "deΔΘΠΣΦ",
		},
		SourceLabel: "VMap_String_String{\"\": \"\", \"eΔΘΠΣΦ王普澤\": \"cd\", \"Π\": \"deΔΘΠΣΦ\"}",
		Source: VMap_String_String{
			"": "",
			"eΔΘΠΣΦ王普澤": "cd",
			"Π": "deΔΘΠΣΦ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_String_String{\"\": \"\", \"eΔΘΠΣΦ王普澤\": \"cd\", \"Π\": \"deΔΘΠΣΦ\"}",
		Target: VMap_String_String{
			"": "",
			"eΔΘΠΣΦ王普澤": "cd",
			"Π": "deΔΘΠΣΦ",
		},
		SourceLabel: "VMap_VString_VString{\"\": \"\", \"eΔΘΠΣΦ王普澤\": \"cd\", \"Π\": \"deΔΘΠΣΦ\"}",
		Source: VMap_VString_VString{
			"": "",
			"eΔΘΠΣΦ王普澤": "cd",
			"Π": "deΔΘΠΣΦ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VString_VString{}",
		Target:      VMap_VString_VString(nil),
		SourceLabel: "VMap_VString_VString{}",
		Source:      VMap_VString_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VString_VString{}",
		Target:      VMap_VString_VString(nil),
		SourceLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Source:      VMap_VEnumAbc_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VString_VString{}",
		Target:      VMap_VString_VString(nil),
		SourceLabel: "map[VEnumBcd]VEnumBcd{}",
		Source:      map[VEnumBcd]VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VString_VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VMap_VString_VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VMap_VString_VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VMap_VString_VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VString_VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VMap_VString_VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[VString]VString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[VString]VString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VString_VString{\"\": \"Δ\", \"ΘΠΣΦ\": \"eΔΘΠΣΦ王\"}",
		Target: VMap_VString_VString{
			"":     "Δ",
			"ΘΠΣΦ": "eΔΘΠΣΦ王",
		},
		SourceLabel: "VMap_VString_VString{\"\": \"Δ\", \"ΘΠΣΦ\": \"eΔΘΠΣΦ王\"}",
		Source: VMap_VString_VString{
			"":     "Δ",
			"ΘΠΣΦ": "eΔΘΠΣΦ王",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VString_VString{\"\": \"Δ\", \"ΘΠΣΦ\": \"eΔΘΠΣΦ王\"}",
		Target: VMap_VString_VString{
			"":     "Δ",
			"ΘΠΣΦ": "eΔΘΠΣΦ王",
		},
		SourceLabel: "map[string]string{\"\": \"Δ\", \"ΘΠΣΦ\": \"eΔΘΠΣΦ王\"}",
		Source: map[string]string{
			"":     "Δ",
			"ΘΠΣΦ": "eΔΘΠΣΦ王",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_Byte_Byte{}",
		Target:      VMap_Byte_Byte(nil),
		SourceLabel: "VMap_Byte_Byte{}",
		Source:      VMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Byte_Byte{}",
		Target:      VMap_Byte_Byte(nil),
		SourceLabel: "map[uint32]uint32{}",
		Source:      map[uint32]uint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Byte_Byte{}",
		Target:      VMap_Byte_Byte(nil),
		SourceLabel: "VMap_Int64_Int64{}",
		Source:      VMap_Int64_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_Byte_Byte{123: 123}",
		Target: VMap_Byte_Byte{
			123: 123,
		},
		SourceLabel: "VMap_Byte_Byte{123: 123}",
		Source: VMap_Byte_Byte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_Byte_Byte{123: 123}",
		Target: VMap_Byte_Byte{
			123: 123,
		},
		SourceLabel: "VMap_VInt32_VInt32{123: 123}",
		Source: VMap_VInt32_VInt32{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_Byte_Byte{0: 191}",
		Target: VMap_Byte_Byte{
			0: 191,
		},
		SourceLabel: "VMap_Byte_Byte{0: 191}",
		Source: VMap_Byte_Byte{
			0: 191,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_Byte_Byte{0: 191}",
		Target: VMap_Byte_Byte{
			0: 191,
		},
		SourceLabel: "map[VUint64]VUint64{0: 191}",
		Source: map[VUint64]VUint64{
			0: 191,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VByte_VByte{}",
		Target:      VMap_VByte_VByte(nil),
		SourceLabel: "VMap_VByte_VByte{}",
		Source:      VMap_VByte_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VByte_VByte{}",
		Target:      VMap_VByte_VByte(nil),
		SourceLabel: "map[byte]byte{}",
		Source:      map[byte]byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VByte_VByte{}",
		Target:      VMap_VByte_VByte(nil),
		SourceLabel: "VMap_VInt32_VInt32{}",
		Source:      VMap_VInt32_VInt32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VByte_VByte{123: 123}",
		Target: VMap_VByte_VByte{
			123: 123,
		},
		SourceLabel: "VMap_VByte_VByte{123: 123}",
		Source: VMap_VByte_VByte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VByte_VByte{123: 123}",
		Target: VMap_VByte_VByte{
			123: 123,
		},
		SourceLabel: "VMap_Byte_Byte{123: 123}",
		Source: VMap_Byte_Byte{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VByte_VByte{140: 57}",
		Target: VMap_VByte_VByte{
			140: 57,
		},
		SourceLabel: "VMap_VByte_VByte{140: 57}",
		Source: VMap_VByte_VByte{
			140: 57,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VByte_VByte{140: 57}",
		Target: VMap_VByte_VByte{
			140: 57,
		},
		SourceLabel: "VMap_VInt32_VInt32{140: 57}",
		Source: VMap_VInt32_VInt32{
			140: 57,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Target:      VMap_VEnumAbc_VEnumAbc(nil),
		SourceLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Source:      VMap_VEnumAbc_VEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Target:      VMap_VEnumAbc_VEnumAbc(nil),
		SourceLabel: "map[string]string{}",
		Source:      map[string]string(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VEnumAbc_VEnumAbc{}",
		Target:      VMap_VEnumAbc_VEnumAbc(nil),
		SourceLabel: "VMap_String_String{}",
		Source:      VMap_String_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VEnumAbc_VEnumAbc{C: C}",
		Target: VMap_VEnumAbc_VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
		SourceLabel: "VMap_VEnumAbc_VEnumAbc{C: C}",
		Source: VMap_VEnumAbc_VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VEnumAbc_VEnumAbc{C: C}",
		Target: VMap_VEnumAbc_VEnumAbc{
			VEnumAbcC: VEnumAbcC,
		},
		SourceLabel: "map[string]string{\"C\": \"C\"}",
		Source: map[string]string{
			"C": "C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Target:      VMap_VEnumBcd_VEnumBcd(nil),
		SourceLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Source:      VMap_VEnumBcd_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Target:      VMap_VEnumBcd_VEnumBcd(nil),
		SourceLabel: "VMap_VString_VString{}",
		Source:      VMap_VString_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VEnumBcd_VEnumBcd{}",
		Target:      VMap_VEnumBcd_VEnumBcd(nil),
		SourceLabel: "map[VEnumBcd]VEnumBcd{}",
		Source:      map[VEnumBcd]VEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VEnumBcd_VEnumBcd{D: D}",
		Target: VMap_VEnumBcd_VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
		SourceLabel: "VMap_VEnumBcd_VEnumBcd{D: D}",
		Source: VMap_VEnumBcd_VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VEnumBcd_VEnumBcd{D: D}",
		Target: VMap_VEnumBcd_VEnumBcd{
			VEnumBcdD: VEnumBcdD,
		},
		SourceLabel: "map[VString]VString{\"D\": \"D\"}",
		Source: map[VString]VString{
			"D": "D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Target:      VMap_VStructEmpty_VStructEmpty(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Target:      VMap_VStructEmpty_VStructEmpty(nil),
		SourceLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{}",
		Source:      map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Target:      VMap_VStructEmpty_VStructEmpty(nil),
		SourceLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{}",
		Source:      VMap_VStructDepth1_VBool_VStructDepth1_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VStructEmpty_VStructEmpty{{}: {}}",
		Target: VMap_VStructEmpty_VStructEmpty{
			{}: {},
		},
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{{}: {}}",
		Source: VMap_VStructEmpty_VStructEmpty{
			{}: {},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VStructEmpty_VStructEmpty{{}: {}}",
		Target: VMap_VStructEmpty_VStructEmpty{
			{}: {},
		},
		SourceLabel: "map[VStructEmpty]VStructEmpty{{}: {}}",
		Source: map[VStructEmpty]VStructEmpty{
			{}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VNamedError_VNamedError{}",
		Target:      VMap_VNamedError_VNamedError(nil),
		SourceLabel: "VMap_VNamedError_VNamedError{}",
		Source:      VMap_VNamedError_VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VNamedError_VNamedError{}",
		Target:      VMap_VNamedError_VNamedError(nil),
		SourceLabel: "map[VNamedError]VNamedError{}",
		Source:      map[VNamedError]VNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VNamedError_VNamedError{}",
		Target:      VMap_VNamedError_VNamedError(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VNamedError_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VMap_VNamedError_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VMap_VNamedError_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VMap_VNamedError_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VNamedError_VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VMap_VNamedError_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[VNamedError]VNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VNamedError]VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VNamedError_VNamedError{{Id: \"eΔΘΠΣ\", Msg: \"ΘΠΣΦ王普澤世\"}: {Id: \"ΘΠΣΦ王普澤\", Msg: \"abcde\"}}",
		Target: VMap_VNamedError_VNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Id:  "ΘΠΣΦ王普澤",
				Msg: "abcde",
			},
		},
		SourceLabel: "VMap_VNamedError_VNamedError{{Id: \"eΔΘΠΣ\", Msg: \"ΘΠΣΦ王普澤世\"}: {Id: \"ΘΠΣΦ王普澤\", Msg: \"abcde\"}}",
		Source: VMap_VNamedError_VNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Id:  "ΘΠΣΦ王普澤",
				Msg: "abcde",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VNamedError_VNamedError{{Id: \"eΔΘΠΣ\", Msg: \"ΘΠΣΦ王普澤世\"}: {Id: \"ΘΠΣΦ王普澤\", Msg: \"abcde\"}}",
		Target: VMap_VNamedError_VNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Id:  "ΘΠΣΦ王普澤",
				Msg: "abcde",
			},
		},
		SourceLabel: "map[VNamedError]VNamedError{{Id: \"eΔΘΠΣ\", Msg: \"ΘΠΣΦ王普澤世\"}: {Id: \"ΘΠΣΦ王普澤\", Msg: \"abcde\"}}",
		Source: map[VNamedError]VNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Id:  "ΘΠΣΦ王普澤",
				Msg: "abcde",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VUint32_VUint32{}",
		Target:      VMap_VUint32_VUint32(nil),
		SourceLabel: "VMap_VUint32_VUint32{}",
		Source:      VMap_VUint32_VUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VUint32_VUint32{}",
		Target:      VMap_VUint32_VUint32(nil),
		SourceLabel: "VMap_Int64_Int64{}",
		Source:      VMap_Int64_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VUint32_VUint32{}",
		Target:      VMap_VUint32_VUint32(nil),
		SourceLabel: "map[byte]byte{}",
		Source:      map[byte]byte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VUint32_VUint32{123: 123}",
		Target: VMap_VUint32_VUint32{
			123: 123,
		},
		SourceLabel: "VMap_VUint32_VUint32{123: 123}",
		Source: VMap_VUint32_VUint32{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VUint32_VUint32{123: 123}",
		Target: VMap_VUint32_VUint32{
			123: 123,
		},
		SourceLabel: "map[VUint64]VUint64{123: 123}",
		Source: map[VUint64]VUint64{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VUint32_VUint32{0: 0, 1265118228: 3145130987, 1574762306: 614136176}",
		Target: VMap_VUint32_VUint32{
			0:          0,
			1265118228: 3145130987,
			1574762306: 614136176,
		},
		SourceLabel: "VMap_VUint32_VUint32{0: 0, 1265118228: 3145130987, 1574762306: 614136176}",
		Source: VMap_VUint32_VUint32{
			0:          0,
			1265118228: 3145130987,
			1574762306: 614136176,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VUint32_VUint32{0: 0, 1265118228: 3145130987, 1574762306: 614136176}",
		Target: VMap_VUint32_VUint32{
			0:          0,
			1265118228: 3145130987,
			1574762306: 614136176,
		},
		SourceLabel: "VMap_Int64_Int64{0: 0, 1265118228: 3145130987, 1574762306: 614136176}",
		Source: VMap_Int64_Int64{
			0:          0,
			1265118228: 3145130987,
			1574762306: 614136176,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VInt32_VInt32{}",
		Target:      VMap_VInt32_VInt32(nil),
		SourceLabel: "VMap_VInt32_VInt32{}",
		Source:      VMap_VInt32_VInt32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VInt32_VInt32{}",
		Target:      VMap_VInt32_VInt32(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VInt32_VInt32{}",
		Target:      VMap_VInt32_VInt32(nil),
		SourceLabel: "map[byte]byte{}",
		Source:      map[byte]byte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VInt32_VInt32{-123: -123}",
		Target: VMap_VInt32_VInt32{
			-123: -123,
		},
		SourceLabel: "VMap_VInt32_VInt32{-123: -123}",
		Source: VMap_VInt32_VInt32{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VInt32_VInt32{-123: -123}",
		Target: VMap_VInt32_VInt32{
			-123: -123,
		},
		SourceLabel: "map[VInt8]VInt8{-123: -123}",
		Source: map[VInt8]VInt8{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VInt32_VInt32{881673950: 940304882}",
		Target: VMap_VInt32_VInt32{
			881673950: 940304882,
		},
		SourceLabel: "VMap_VInt32_VInt32{881673950: 940304882}",
		Source: VMap_VInt32_VInt32{
			881673950: 940304882,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VInt32_VInt32{881673950: 940304882}",
		Target: VMap_VInt32_VInt32{
			881673950: 940304882,
		},
		SourceLabel: "VMap_VUint32_VUint32{881673950: 940304882}",
		Source: VMap_VUint32_VUint32{
			881673950: 940304882,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_Int64_Int64{}",
		Target:      VMap_Int64_Int64(nil),
		SourceLabel: "VMap_Int64_Int64{}",
		Source:      VMap_Int64_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Int64_Int64{}",
		Target:      VMap_Int64_Int64(nil),
		SourceLabel: "map[VInt8]VInt8{}",
		Source:      map[VInt8]VInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_Int64_Int64{}",
		Target:      VMap_Int64_Int64(nil),
		SourceLabel: "map[VByte]VByte{}",
		Source:      map[VByte]VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_Int64_Int64{-123: -123}",
		Target: VMap_Int64_Int64{
			-123: -123,
		},
		SourceLabel: "VMap_Int64_Int64{-123: -123}",
		Source: VMap_Int64_Int64{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_Int64_Int64{-123: -123}",
		Target: VMap_Int64_Int64{
			-123: -123,
		},
		SourceLabel: "map[VInt8]VInt8{-123: -123}",
		Source: map[VInt8]VInt8{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_Int64_Int64{545898974723811696: 1968987264141219699, 961545801918365140: -2833559715110951923, 984524936498028410: 1523896788520007169}",
		Target: VMap_Int64_Int64{
			545898974723811696: 1968987264141219699,
			961545801918365140: -2833559715110951923,
			984524936498028410: 1523896788520007169,
		},
		SourceLabel: "VMap_Int64_Int64{545898974723811696: 1968987264141219699, 961545801918365140: -2833559715110951923, 984524936498028410: 1523896788520007169}",
		Source: VMap_Int64_Int64{
			545898974723811696: 1968987264141219699,
			961545801918365140: -2833559715110951923,
			984524936498028410: 1523896788520007169,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_All{}",
		Target: VStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_All{}",
		Target: VStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructDepth1_VUint16{}",
		Source:      VStructDepth1_VUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_All{}",
		Target: VStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructDepth1_Float64{}",
		Source:      VStructDepth1_Float64{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_All{F0: VUnionDepth2_VSet_VNamedError{F5: {}}, F2: true, F3: \"deΔΘΠΣΦ王普澤世\", F4: \"bcdeΔΘ\", F5: typeobject(set[VStructDepth2_VStructDepth1_Bool]), F6: 6, F7: 94, F9: C, F11: {Id: \"澤世界\", Msg: \"Δ\"}, F12: {Id: \"abcde\", Msg: \"eΔΘΠΣΦ王普澤\"}, F13: 27817, F14: 33365, F16: 4042980991, F17: 1551825347208256197, F18: 6984605754850064028, F19: -46, F20: -33, F22: -8955, F23: 1059256087, F24: 845352882, F25: -2819704168981791743, F27: 2.5691917e+09, F28: -3.6847075e+08, F29: -4.075954743487423e+08, F30: 9.713718049637722e+08, F31: {}, F32: {Msg: \"a\"}}",
		Target: VStructDepth1_All{
			F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{}),
			F2: true,
			F3: "deΔΘΠΣΦ王普澤世",
			F4: "bcdeΔΘ",
			F5: __VDLType_set_287,
			F6: 6,
			F7: 94,
			F9: VEnumBcdC,
			F11: VNamedError{
				Id:  "澤世界",
				Msg: "Δ",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcde",
				Msg: "eΔΘΠΣΦ王普澤",
			}),
			F13: 27817,
			F14: 33365,
			F16: 4042980991,
			F17: 1551825347208256197,
			F18: 6984605754850064028,
			F19: -46,
			F20: -33,
			F22: -8955,
			F23: 1059256087,
			F24: 845352882,
			F25: -2819704168981791743,
			F27: 2.5691917e+09,
			F28: -3.6847075e+08,
			F29: -4.075954743487423e+08,
			F30: 9.713718049637722e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Msg: "a",
			},
		},
		SourceLabel: "VStructDepth1_All{F0: VUnionDepth2_VSet_VNamedError{F5: {}}, F2: true, F3: \"deΔΘΠΣΦ王普澤世\", F4: \"bcdeΔΘ\", F5: typeobject(set[VStructDepth2_VStructDepth1_Bool]), F6: 6, F7: 94, F9: C, F11: {Id: \"澤世界\", Msg: \"Δ\"}, F12: {Id: \"abcde\", Msg: \"eΔΘΠΣΦ王普澤\"}, F13: 27817, F14: 33365, F16: 4042980991, F17: 1551825347208256197, F18: 6984605754850064028, F19: -46, F20: -33, F22: -8955, F23: 1059256087, F24: 845352882, F25: -2819704168981791743, F27: 2.5691917e+09, F28: -3.6847075e+08, F29: -4.075954743487423e+08, F30: 9.713718049637722e+08, F31: {}, F32: {Msg: \"a\"}}",
		Source: VStructDepth1_All{
			F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{}),
			F2: true,
			F3: "deΔΘΠΣΦ王普澤世",
			F4: "bcdeΔΘ",
			F5: __VDLType_set_287,
			F6: 6,
			F7: 94,
			F9: VEnumBcdC,
			F11: VNamedError{
				Id:  "澤世界",
				Msg: "Δ",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcde",
				Msg: "eΔΘΠΣΦ王普澤",
			}),
			F13: 27817,
			F14: 33365,
			F16: 4042980991,
			F17: 1551825347208256197,
			F18: 6984605754850064028,
			F19: -46,
			F20: -33,
			F22: -8955,
			F23: 1059256087,
			F24: 845352882,
			F25: -2819704168981791743,
			F27: 2.5691917e+09,
			F28: -3.6847075e+08,
			F29: -4.075954743487423e+08,
			F30: 9.713718049637722e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Msg: "a",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Any{}",
		Target:      VStructDepth1_Any{},
		SourceLabel: "VStructDepth1_Any{}",
		Source:      VStructDepth1_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Any{}",
		Target:      VStructDepth1_Any{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Any{}",
		Target:      VStructDepth1_Any{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Any{F0: int64(-123)}",
		Target: VStructDepth1_Any{
			F0: int64(-123),
		},
		SourceLabel: "VStructDepth1_Any{F0: int64(-123)}",
		Source: VStructDepth1_Any{
			F0: int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Any{F0: int64(-123)}",
		Target: VStructDepth1_Any{
			F0: int64(-123),
		},
		SourceLabel: "VStructDepth1_All{F0: int64(-123)}",
		Source: VStructDepth1_All{
			F0: int64(-123),
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Any{F0: VArray3_Uint64{16116708124089625143, 10390629199052747716, 0}}",
		Target: VStructDepth1_Any{
			F0: VArray3_Uint64{
				16116708124089625143,
				10390629199052747716,
				0,
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray3_Uint64{16116708124089625143, 10390629199052747716, 0}}",
		Source: VStructDepth1_Any{
			F0: VArray3_Uint64{
				16116708124089625143,
				10390629199052747716,
				0,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Any{F0: VArray3_Uint64{16116708124089625143, 10390629199052747716, 0}}",
		Target: VStructDepth1_Any{
			F0: VArray3_Uint64{
				16116708124089625143,
				10390629199052747716,
				0,
			},
		},
		SourceLabel: "VStructDepth1_All{F0: VArray3_Uint64{16116708124089625143, 10390629199052747716, 0}}",
		Source: VStructDepth1_All{
			F0: VArray3_Uint64{
				16116708124089625143,
				10390629199052747716,
				0,
			},
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Bool{}",
		Target:      VStructDepth1_Bool{},
		SourceLabel: "VStructDepth1_Bool{}",
		Source:      VStructDepth1_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Bool{}",
		Target:      VStructDepth1_Bool{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Bool{}",
		Target:      VStructDepth1_Bool{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Bool{F1: true}",
		Target: VStructDepth1_Bool{
			F1: true,
		},
		SourceLabel: "VStructDepth1_Bool{F1: true}",
		Source: VStructDepth1_Bool{
			F1: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Bool{F1: true}",
		Target: VStructDepth1_Bool{
			F1: true,
		},
		SourceLabel: "VStructDepth1_All{F1: true}",
		Source: VStructDepth1_All{
			F1: true,
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VBool{}",
		Target:      VStructDepth1_VBool{},
		SourceLabel: "VStructDepth1_VBool{}",
		Source:      VStructDepth1_VBool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VBool{}",
		Target:      VStructDepth1_VBool{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VBool{}",
		Target:      VStructDepth1_VBool{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VBool{F2: true}",
		Target: VStructDepth1_VBool{
			F2: true,
		},
		SourceLabel: "VStructDepth1_VBool{F2: true}",
		Source: VStructDepth1_VBool{
			F2: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VBool{F2: true}",
		Target: VStructDepth1_VBool{
			F2: true,
		},
		SourceLabel: "VStructDepth1_All{F2: true}",
		Source: VStructDepth1_All{
			F2: true,
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_String{}",
		Target:      VStructDepth1_String{},
		SourceLabel: "VStructDepth1_String{}",
		Source:      VStructDepth1_String{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_String{}",
		Target:      VStructDepth1_String{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_String{}",
		Target:      VStructDepth1_String{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VStructDepth1_All{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VStructDepth1_All{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_String{F3: \"普澤世界\"}",
		Target: VStructDepth1_String{
			F3: "普澤世界",
		},
		SourceLabel: "VStructDepth1_String{F3: \"普澤世界\"}",
		Source: VStructDepth1_String{
			F3: "普澤世界",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_String{F3: \"普澤世界\"}",
		Target: VStructDepth1_String{
			F3: "普澤世界",
		},
		SourceLabel: "VStructDepth1_All{F3: \"普澤世界\"}",
		Source: VStructDepth1_All{
			F3: "普澤世界",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VString{}",
		Target:      VStructDepth1_VString{},
		SourceLabel: "VStructDepth1_VString{}",
		Source:      VStructDepth1_VString{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VString{}",
		Target:      VStructDepth1_VString{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VString{}",
		Target:      VStructDepth1_VString{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VStructDepth1_VString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VStructDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VStructDepth1_VString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: VStructDepth1_VString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "VStructDepth1_All{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: VStructDepth1_All{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VString{F4: \"bcdeΔΘ\"}",
		Target: VStructDepth1_VString{
			F4: "bcdeΔΘ",
		},
		SourceLabel: "VStructDepth1_VString{F4: \"bcdeΔΘ\"}",
		Source: VStructDepth1_VString{
			F4: "bcdeΔΘ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VString{F4: \"bcdeΔΘ\"}",
		Target: VStructDepth1_VString{
			F4: "bcdeΔΘ",
		},
		SourceLabel: "VStructDepth1_All{F4: \"bcdeΔΘ\"}",
		Source: VStructDepth1_All{
			F4: "bcdeΔΘ",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_TypeObject{}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructDepth1_TypeObject{}",
		Source: VStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_TypeObject{}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_TypeObject{}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_TypeObject{F5: typeobject(int64)}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
		SourceLabel: "VStructDepth1_TypeObject{F5: typeobject(int64)}",
		Source: VStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_TypeObject{F5: typeobject(int64)}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
		SourceLabel: "VStructDepth1_All{F5: typeobject(int64)}",
		Source: VStructDepth1_All{
			F5: vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_TypeObject{F5: typeobject(VMap_VBool_VBool)}",
		Target: VStructDepth1_TypeObject{
			F5: __VDLType_map_70,
		},
		SourceLabel: "VStructDepth1_TypeObject{F5: typeobject(VMap_VBool_VBool)}",
		Source: VStructDepth1_TypeObject{
			F5: __VDLType_map_70,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_TypeObject{F5: typeobject(VMap_VBool_VBool)}",
		Target: VStructDepth1_TypeObject{
			F5: __VDLType_map_70,
		},
		SourceLabel: "VStructDepth1_All{F5: typeobject(VMap_VBool_VBool)}",
		Source: VStructDepth1_All{
			F5: __VDLType_map_70,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Byte{}",
		Target:      VStructDepth1_Byte{},
		SourceLabel: "VStructDepth1_Byte{}",
		Source:      VStructDepth1_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Byte{}",
		Target:      VStructDepth1_Byte{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Byte{}",
		Target:      VStructDepth1_Byte{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Byte{F6: 123}",
		Target: VStructDepth1_Byte{
			F6: 123,
		},
		SourceLabel: "VStructDepth1_Byte{F6: 123}",
		Source: VStructDepth1_Byte{
			F6: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Byte{F6: 123}",
		Target: VStructDepth1_Byte{
			F6: 123,
		},
		SourceLabel: "VStructDepth1_All{F6: 123}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F6: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Byte{F6: 28}",
		Target: VStructDepth1_Byte{
			F6: 28,
		},
		SourceLabel: "VStructDepth1_Byte{F6: 28}",
		Source: VStructDepth1_Byte{
			F6: 28,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Byte{F6: 28}",
		Target: VStructDepth1_Byte{
			F6: 28,
		},
		SourceLabel: "VStructDepth1_All{F6: 28}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F6: 28,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VByte{}",
		Target:      VStructDepth1_VByte{},
		SourceLabel: "VStructDepth1_VByte{}",
		Source:      VStructDepth1_VByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VByte{}",
		Target:      VStructDepth1_VByte{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VByte{}",
		Target:      VStructDepth1_VByte{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VByte{F7: 123}",
		Target: VStructDepth1_VByte{
			F7: 123,
		},
		SourceLabel: "VStructDepth1_VByte{F7: 123}",
		Source: VStructDepth1_VByte{
			F7: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VByte{F7: 123}",
		Target: VStructDepth1_VByte{
			F7: 123,
		},
		SourceLabel: "VStructDepth1_All{F7: 123}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F7: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VByte{F7: 72}",
		Target: VStructDepth1_VByte{
			F7: 72,
		},
		SourceLabel: "VStructDepth1_VByte{F7: 72}",
		Source: VStructDepth1_VByte{
			F7: 72,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VByte{F7: 72}",
		Target: VStructDepth1_VByte{
			F7: 72,
		},
		SourceLabel: "VStructDepth1_All{F7: 72}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F7: 72,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumAbc{}",
		Target:      VStructDepth1_VEnumAbc{},
		SourceLabel: "VStructDepth1_VEnumAbc{}",
		Source:      VStructDepth1_VEnumAbc{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumAbc{}",
		Target:      VStructDepth1_VEnumAbc{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumAbc{}",
		Target:      VStructDepth1_VEnumAbc{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VEnumAbc{F8: C}",
		Target: VStructDepth1_VEnumAbc{
			F8: VEnumAbcC,
		},
		SourceLabel: "VStructDepth1_VEnumAbc{F8: C}",
		Source: VStructDepth1_VEnumAbc{
			F8: VEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VEnumAbc{F8: C}",
		Target: VStructDepth1_VEnumAbc{
			F8: VEnumAbcC,
		},
		SourceLabel: "VStructDepth1_All{F8: C}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F8: VEnumAbcC,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumBcd{}",
		Target:      VStructDepth1_VEnumBcd{},
		SourceLabel: "VStructDepth1_VEnumBcd{}",
		Source:      VStructDepth1_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumBcd{}",
		Target:      VStructDepth1_VEnumBcd{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VEnumBcd{}",
		Target:      VStructDepth1_VEnumBcd{},
		SourceLabel: "?VStructDepth1_VEnumBcd{}",
		Source:      &VStructDepth1_VEnumBcd{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VEnumBcd{F9: D}",
		Target: VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
		SourceLabel: "VStructDepth1_VEnumBcd{F9: D}",
		Source: VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VEnumBcd{F9: D}",
		Target: VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
		SourceLabel: "?VStructDepth1_VEnumBcd{F9: D}",
		Source: &VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VStructEmpty{}",
		Target:      VStructDepth1_VStructEmpty{},
		SourceLabel: "VStructDepth1_VStructEmpty{}",
		Source:      VStructDepth1_VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VStructEmpty{}",
		Target:      VStructDepth1_VStructEmpty{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VStructEmpty{}",
		Target:      VStructDepth1_VStructEmpty{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VNamedError{}",
		Target:      VStructDepth1_VNamedError{},
		SourceLabel: "VStructDepth1_VNamedError{}",
		Source:      VStructDepth1_VNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VNamedError{}",
		Target:      VStructDepth1_VNamedError{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VNamedError{}",
		Target:      VStructDepth1_VNamedError{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VStructDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VStructDepth1_All{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VNamedError{F11: {Id: \"deΔΘΠ\"}}",
		Target: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id: "deΔΘΠ",
			},
		},
		SourceLabel: "VStructDepth1_VNamedError{F11: {Id: \"deΔΘΠ\"}}",
		Source: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id: "deΔΘΠ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VNamedError{F11: {Id: \"deΔΘΠ\"}}",
		Target: VStructDepth1_VNamedError{
			F11: VNamedError{
				Id: "deΔΘΠ",
			},
		},
		SourceLabel: "VStructDepth1_All{F11: {Id: \"deΔΘΠ\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F11: VNamedError{
				Id: "deΔΘΠ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Error{}",
		Target:      VStructDepth1_Error{},
		SourceLabel: "VStructDepth1_Error{}",
		Source:      VStructDepth1_Error{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Error{}",
		Target:      VStructDepth1_Error{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Error{}",
		Target:      VStructDepth1_Error{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "VStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "VStructDepth1_All{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Error{F12: {Msg: \"ΘΠΣΦ王普\"}}",
		Target: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Msg: "ΘΠΣΦ王普",
			}),
		},
		SourceLabel: "VStructDepth1_Error{F12: {Msg: \"ΘΠΣΦ王普\"}}",
		Source: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Msg: "ΘΠΣΦ王普",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Error{F12: {Msg: \"ΘΠΣΦ王普\"}}",
		Target: VStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Msg: "ΘΠΣΦ王普",
			}),
		},
		SourceLabel: "VStructDepth1_All{F12: {Msg: \"ΘΠΣΦ王普\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F12: verror.FromWire(&vdl.WireError{
				Msg: "ΘΠΣΦ王普",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint16{}",
		Target:      VStructDepth1_Uint16{},
		SourceLabel: "VStructDepth1_Uint16{}",
		Source:      VStructDepth1_Uint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint16{}",
		Target:      VStructDepth1_Uint16{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint16{}",
		Target:      VStructDepth1_Uint16{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint16{F13: 123}",
		Target: VStructDepth1_Uint16{
			F13: 123,
		},
		SourceLabel: "VStructDepth1_Uint16{F13: 123}",
		Source: VStructDepth1_Uint16{
			F13: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint16{F13: 123}",
		Target: VStructDepth1_Uint16{
			F13: 123,
		},
		SourceLabel: "VStructDepth1_All{F13: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F13: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint16{F13: 44049}",
		Target: VStructDepth1_Uint16{
			F13: 44049,
		},
		SourceLabel: "VStructDepth1_Uint16{F13: 44049}",
		Source: VStructDepth1_Uint16{
			F13: 44049,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint16{F13: 44049}",
		Target: VStructDepth1_Uint16{
			F13: 44049,
		},
		SourceLabel: "VStructDepth1_All{F13: 44049}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F13: 44049,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint16{}",
		Target:      VStructDepth1_VUint16{},
		SourceLabel: "VStructDepth1_VUint16{}",
		Source:      VStructDepth1_VUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint16{}",
		Target:      VStructDepth1_VUint16{},
		SourceLabel: "?VStructDepth1_VUint16{}",
		Source:      &VStructDepth1_VUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint16{}",
		Target:      VStructDepth1_VUint16{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint16{F14: 123}",
		Target: VStructDepth1_VUint16{
			F14: 123,
		},
		SourceLabel: "VStructDepth1_VUint16{F14: 123}",
		Source: VStructDepth1_VUint16{
			F14: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint16{F14: 123}",
		Target: VStructDepth1_VUint16{
			F14: 123,
		},
		SourceLabel: "VStructDepth1_All{F14: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F14: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint16{F14: 51729}",
		Target: VStructDepth1_VUint16{
			F14: 51729,
		},
		SourceLabel: "VStructDepth1_VUint16{F14: 51729}",
		Source: VStructDepth1_VUint16{
			F14: 51729,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint16{F14: 51729}",
		Target: VStructDepth1_VUint16{
			F14: 51729,
		},
		SourceLabel: "VStructDepth1_All{F14: 51729}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F14: 51729,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint32{}",
		Target:      VStructDepth1_Uint32{},
		SourceLabel: "VStructDepth1_Uint32{}",
		Source:      VStructDepth1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint32{}",
		Target:      VStructDepth1_Uint32{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint32{}",
		Target:      VStructDepth1_Uint32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint32{F15: 123}",
		Target: VStructDepth1_Uint32{
			F15: 123,
		},
		SourceLabel: "VStructDepth1_Uint32{F15: 123}",
		Source: VStructDepth1_Uint32{
			F15: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint32{F15: 123}",
		Target: VStructDepth1_Uint32{
			F15: 123,
		},
		SourceLabel: "VStructDepth1_All{F15: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F15: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint32{F15: 2366152188}",
		Target: VStructDepth1_Uint32{
			F15: 2366152188,
		},
		SourceLabel: "VStructDepth1_Uint32{F15: 2366152188}",
		Source: VStructDepth1_Uint32{
			F15: 2366152188,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint32{F15: 2366152188}",
		Target: VStructDepth1_Uint32{
			F15: 2366152188,
		},
		SourceLabel: "VStructDepth1_All{F15: 2366152188}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F15: 2366152188,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint32{}",
		Target:      VStructDepth1_VUint32{},
		SourceLabel: "VStructDepth1_VUint32{}",
		Source:      VStructDepth1_VUint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint32{}",
		Target:      VStructDepth1_VUint32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint32{}",
		Target:      VStructDepth1_VUint32{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint32{F16: 123}",
		Target: VStructDepth1_VUint32{
			F16: 123,
		},
		SourceLabel: "VStructDepth1_VUint32{F16: 123}",
		Source: VStructDepth1_VUint32{
			F16: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint32{F16: 123}",
		Target: VStructDepth1_VUint32{
			F16: 123,
		},
		SourceLabel: "VStructDepth1_All{F16: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F16: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint32{F16: 3973228366}",
		Target: VStructDepth1_VUint32{
			F16: 3973228366,
		},
		SourceLabel: "VStructDepth1_VUint32{F16: 3973228366}",
		Source: VStructDepth1_VUint32{
			F16: 3973228366,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint32{F16: 3973228366}",
		Target: VStructDepth1_VUint32{
			F16: 3973228366,
		},
		SourceLabel: "VStructDepth1_All{F16: 3973228366}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F16: 3973228366,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint64{}",
		Target:      VStructDepth1_Uint64{},
		SourceLabel: "VStructDepth1_Uint64{}",
		Source:      VStructDepth1_Uint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint64{}",
		Target:      VStructDepth1_Uint64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Uint64{}",
		Target:      VStructDepth1_Uint64{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint64{F17: 123}",
		Target: VStructDepth1_Uint64{
			F17: 123,
		},
		SourceLabel: "VStructDepth1_Uint64{F17: 123}",
		Source: VStructDepth1_Uint64{
			F17: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Uint64{F17: 123}",
		Target: VStructDepth1_Uint64{
			F17: 123,
		},
		SourceLabel: "VStructDepth1_All{F17: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F17: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint64{F17: 16342908453211825522}",
		Target: VStructDepth1_Uint64{
			F17: 16342908453211825522,
		},
		SourceLabel: "VStructDepth1_Uint64{F17: 16342908453211825522}",
		Source: VStructDepth1_Uint64{
			F17: 16342908453211825522,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Uint64{F17: 16342908453211825522}",
		Target: VStructDepth1_Uint64{
			F17: 16342908453211825522,
		},
		SourceLabel: "VStructDepth1_All{F17: 16342908453211825522}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F17: 16342908453211825522,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint64{}",
		Target:      VStructDepth1_VUint64{},
		SourceLabel: "VStructDepth1_VUint64{}",
		Source:      VStructDepth1_VUint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint64{}",
		Target:      VStructDepth1_VUint64{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VUint64{}",
		Target:      VStructDepth1_VUint64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint64{F18: 123}",
		Target: VStructDepth1_VUint64{
			F18: 123,
		},
		SourceLabel: "VStructDepth1_VUint64{F18: 123}",
		Source: VStructDepth1_VUint64{
			F18: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VUint64{F18: 123}",
		Target: VStructDepth1_VUint64{
			F18: 123,
		},
		SourceLabel: "VStructDepth1_All{F18: 123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F18: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint64{F18: 1714876546347477903}",
		Target: VStructDepth1_VUint64{
			F18: 1714876546347477903,
		},
		SourceLabel: "VStructDepth1_VUint64{F18: 1714876546347477903}",
		Source: VStructDepth1_VUint64{
			F18: 1714876546347477903,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VUint64{F18: 1714876546347477903}",
		Target: VStructDepth1_VUint64{
			F18: 1714876546347477903,
		},
		SourceLabel: "VStructDepth1_All{F18: 1714876546347477903}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F18: 1714876546347477903,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int8{}",
		Target:      VStructDepth1_Int8{},
		SourceLabel: "VStructDepth1_Int8{}",
		Source:      VStructDepth1_Int8{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int8{}",
		Target:      VStructDepth1_Int8{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int8{}",
		Target:      VStructDepth1_Int8{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int8{F19: -123}",
		Target: VStructDepth1_Int8{
			F19: -123,
		},
		SourceLabel: "VStructDepth1_Int8{F19: -123}",
		Source: VStructDepth1_Int8{
			F19: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int8{F19: -123}",
		Target: VStructDepth1_Int8{
			F19: -123,
		},
		SourceLabel: "VStructDepth1_All{F19: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F19: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int8{F19: -63}",
		Target: VStructDepth1_Int8{
			F19: -63,
		},
		SourceLabel: "VStructDepth1_Int8{F19: -63}",
		Source: VStructDepth1_Int8{
			F19: -63,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int8{F19: -63}",
		Target: VStructDepth1_Int8{
			F19: -63,
		},
		SourceLabel: "VStructDepth1_All{F19: -63}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F19: -63,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt8{}",
		Target:      VStructDepth1_VInt8{},
		SourceLabel: "VStructDepth1_VInt8{}",
		Source:      VStructDepth1_VInt8{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt8{}",
		Target:      VStructDepth1_VInt8{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt8{}",
		Target:      VStructDepth1_VInt8{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt8{F20: -123}",
		Target: VStructDepth1_VInt8{
			F20: -123,
		},
		SourceLabel: "VStructDepth1_VInt8{F20: -123}",
		Source: VStructDepth1_VInt8{
			F20: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt8{F20: -123}",
		Target: VStructDepth1_VInt8{
			F20: -123,
		},
		SourceLabel: "VStructDepth1_All{F20: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F20: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt8{F20: 11}",
		Target: VStructDepth1_VInt8{
			F20: 11,
		},
		SourceLabel: "VStructDepth1_VInt8{F20: 11}",
		Source: VStructDepth1_VInt8{
			F20: 11,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt8{F20: 11}",
		Target: VStructDepth1_VInt8{
			F20: 11,
		},
		SourceLabel: "VStructDepth1_All{F20: 11}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F20: 11,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int16{}",
		Target:      VStructDepth1_Int16{},
		SourceLabel: "VStructDepth1_Int16{}",
		Source:      VStructDepth1_Int16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int16{}",
		Target:      VStructDepth1_Int16{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int16{}",
		Target:      VStructDepth1_Int16{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int16{F21: -123}",
		Target: VStructDepth1_Int16{
			F21: -123,
		},
		SourceLabel: "VStructDepth1_Int16{F21: -123}",
		Source: VStructDepth1_Int16{
			F21: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int16{F21: -123}",
		Target: VStructDepth1_Int16{
			F21: -123,
		},
		SourceLabel: "VStructDepth1_All{F21: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F21: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int16{F21: 5768}",
		Target: VStructDepth1_Int16{
			F21: 5768,
		},
		SourceLabel: "VStructDepth1_Int16{F21: 5768}",
		Source: VStructDepth1_Int16{
			F21: 5768,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int16{F21: 5768}",
		Target: VStructDepth1_Int16{
			F21: 5768,
		},
		SourceLabel: "VStructDepth1_All{F21: 5768}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F21: 5768,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt16{}",
		Target:      VStructDepth1_VInt16{},
		SourceLabel: "VStructDepth1_VInt16{}",
		Source:      VStructDepth1_VInt16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt16{}",
		Target:      VStructDepth1_VInt16{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt16{}",
		Target:      VStructDepth1_VInt16{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt16{F22: -123}",
		Target: VStructDepth1_VInt16{
			F22: -123,
		},
		SourceLabel: "VStructDepth1_VInt16{F22: -123}",
		Source: VStructDepth1_VInt16{
			F22: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt16{F22: -123}",
		Target: VStructDepth1_VInt16{
			F22: -123,
		},
		SourceLabel: "VStructDepth1_All{F22: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F22: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt16{F22: 11449}",
		Target: VStructDepth1_VInt16{
			F22: 11449,
		},
		SourceLabel: "VStructDepth1_VInt16{F22: 11449}",
		Source: VStructDepth1_VInt16{
			F22: 11449,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt16{F22: 11449}",
		Target: VStructDepth1_VInt16{
			F22: 11449,
		},
		SourceLabel: "VStructDepth1_All{F22: 11449}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F22: 11449,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int32{}",
		Target:      VStructDepth1_Int32{},
		SourceLabel: "VStructDepth1_Int32{}",
		Source:      VStructDepth1_Int32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int32{}",
		Target:      VStructDepth1_Int32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int32{}",
		Target:      VStructDepth1_Int32{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int32{F23: -123}",
		Target: VStructDepth1_Int32{
			F23: -123,
		},
		SourceLabel: "VStructDepth1_Int32{F23: -123}",
		Source: VStructDepth1_Int32{
			F23: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int32{F23: -123}",
		Target: VStructDepth1_Int32{
			F23: -123,
		},
		SourceLabel: "VStructDepth1_All{F23: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F23: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int32{F23: -426360945}",
		Target: VStructDepth1_Int32{
			F23: -426360945,
		},
		SourceLabel: "VStructDepth1_Int32{F23: -426360945}",
		Source: VStructDepth1_Int32{
			F23: -426360945,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int32{F23: -426360945}",
		Target: VStructDepth1_Int32{
			F23: -426360945,
		},
		SourceLabel: "VStructDepth1_All{F23: -426360945}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F23: -426360945,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt32{}",
		Target:      VStructDepth1_VInt32{},
		SourceLabel: "VStructDepth1_VInt32{}",
		Source:      VStructDepth1_VInt32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt32{}",
		Target:      VStructDepth1_VInt32{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt32{}",
		Target:      VStructDepth1_VInt32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt32{F24: -123}",
		Target: VStructDepth1_VInt32{
			F24: -123,
		},
		SourceLabel: "VStructDepth1_VInt32{F24: -123}",
		Source: VStructDepth1_VInt32{
			F24: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt32{F24: -123}",
		Target: VStructDepth1_VInt32{
			F24: -123,
		},
		SourceLabel: "VStructDepth1_All{F24: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F24: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt32{F24: -365272045}",
		Target: VStructDepth1_VInt32{
			F24: -365272045,
		},
		SourceLabel: "VStructDepth1_VInt32{F24: -365272045}",
		Source: VStructDepth1_VInt32{
			F24: -365272045,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt32{F24: -365272045}",
		Target: VStructDepth1_VInt32{
			F24: -365272045,
		},
		SourceLabel: "VStructDepth1_All{F24: -365272045}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F24: -365272045,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int64{}",
		Target:      VStructDepth1_Int64{},
		SourceLabel: "VStructDepth1_Int64{}",
		Source:      VStructDepth1_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int64{}",
		Target:      VStructDepth1_Int64{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Int64{}",
		Target:      VStructDepth1_Int64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int64{F25: -123}",
		Target: VStructDepth1_Int64{
			F25: -123,
		},
		SourceLabel: "VStructDepth1_Int64{F25: -123}",
		Source: VStructDepth1_Int64{
			F25: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Int64{F25: -123}",
		Target: VStructDepth1_Int64{
			F25: -123,
		},
		SourceLabel: "VStructDepth1_All{F25: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F25: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int64{F25: -326060541489624168}",
		Target: VStructDepth1_Int64{
			F25: -326060541489624168,
		},
		SourceLabel: "VStructDepth1_Int64{F25: -326060541489624168}",
		Source: VStructDepth1_Int64{
			F25: -326060541489624168,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Int64{F25: -326060541489624168}",
		Target: VStructDepth1_Int64{
			F25: -326060541489624168,
		},
		SourceLabel: "VStructDepth1_All{F25: -326060541489624168}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F25: -326060541489624168,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt64{}",
		Target:      VStructDepth1_VInt64{},
		SourceLabel: "VStructDepth1_VInt64{}",
		Source:      VStructDepth1_VInt64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt64{}",
		Target:      VStructDepth1_VInt64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VInt64{}",
		Target:      VStructDepth1_VInt64{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt64{F26: -123}",
		Target: VStructDepth1_VInt64{
			F26: -123,
		},
		SourceLabel: "VStructDepth1_VInt64{F26: -123}",
		Source: VStructDepth1_VInt64{
			F26: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VInt64{F26: -123}",
		Target: VStructDepth1_VInt64{
			F26: -123,
		},
		SourceLabel: "VStructDepth1_All{F26: -123}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F26: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt64{F26: -3785654656365979938}",
		Target: VStructDepth1_VInt64{
			F26: -3785654656365979938,
		},
		SourceLabel: "VStructDepth1_VInt64{F26: -3785654656365979938}",
		Source: VStructDepth1_VInt64{
			F26: -3785654656365979938,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VInt64{F26: -3785654656365979938}",
		Target: VStructDepth1_VInt64{
			F26: -3785654656365979938,
		},
		SourceLabel: "VStructDepth1_All{F26: -3785654656365979938}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F26: -3785654656365979938,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float32{}",
		Target:      VStructDepth1_Float32{},
		SourceLabel: "VStructDepth1_Float32{}",
		Source:      VStructDepth1_Float32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float32{}",
		Target:      VStructDepth1_Float32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float32{}",
		Target:      VStructDepth1_Float32{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Float32{F27: 1.5}",
		Target: VStructDepth1_Float32{
			F27: 1.5,
		},
		SourceLabel: "VStructDepth1_Float32{F27: 1.5}",
		Source: VStructDepth1_Float32{
			F27: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Float32{F27: 1.5}",
		Target: VStructDepth1_Float32{
			F27: 1.5,
		},
		SourceLabel: "VStructDepth1_All{F27: 1.5}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F27: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Float32{F27: -2.160014e+09}",
		Target: VStructDepth1_Float32{
			F27: -2.160014e+09,
		},
		SourceLabel: "VStructDepth1_Float32{F27: -2.160014e+09}",
		Source: VStructDepth1_Float32{
			F27: -2.160014e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Float32{F27: -2.160014e+09}",
		Target: VStructDepth1_Float32{
			F27: -2.160014e+09,
		},
		SourceLabel: "VStructDepth1_All{F27: -2.160014e+09}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F27: -2.160014e+09,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat32{}",
		Target:      VStructDepth1_VFloat32{},
		SourceLabel: "VStructDepth1_VFloat32{}",
		Source:      VStructDepth1_VFloat32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat32{}",
		Target:      VStructDepth1_VFloat32{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat32{}",
		Target:      VStructDepth1_VFloat32{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VFloat32{F28: 1.5}",
		Target: VStructDepth1_VFloat32{
			F28: 1.5,
		},
		SourceLabel: "VStructDepth1_VFloat32{F28: 1.5}",
		Source: VStructDepth1_VFloat32{
			F28: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VFloat32{F28: 1.5}",
		Target: VStructDepth1_VFloat32{
			F28: 1.5,
		},
		SourceLabel: "?VStructDepth1_VFloat32{F28: 1.5}",
		Source: &VStructDepth1_VFloat32{
			F28: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VFloat32{F28: -4.5656662e+08}",
		Target: VStructDepth1_VFloat32{
			F28: -4.5656662e+08,
		},
		SourceLabel: "VStructDepth1_VFloat32{F28: -4.5656662e+08}",
		Source: VStructDepth1_VFloat32{
			F28: -4.5656662e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VFloat32{F28: -4.5656662e+08}",
		Target: VStructDepth1_VFloat32{
			F28: -4.5656662e+08,
		},
		SourceLabel: "?VStructDepth1_VFloat32{F28: -4.5656662e+08}",
		Source: &VStructDepth1_VFloat32{
			F28: -4.5656662e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float64{}",
		Target:      VStructDepth1_Float64{},
		SourceLabel: "VStructDepth1_Float64{}",
		Source:      VStructDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float64{}",
		Target:      VStructDepth1_Float64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_Float64{}",
		Target:      VStructDepth1_Float64{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_Float64{F29: 1.5}",
		Target: VStructDepth1_Float64{
			F29: 1.5,
		},
		SourceLabel: "VStructDepth1_Float64{F29: 1.5}",
		Source: VStructDepth1_Float64{
			F29: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_Float64{F29: 1.5}",
		Target: VStructDepth1_Float64{
			F29: 1.5,
		},
		SourceLabel: "VStructDepth1_All{F29: 1.5}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F29: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Float64{F29: 3.248322134236514e+08}",
		Target: VStructDepth1_Float64{
			F29: 3.248322134236514e+08,
		},
		SourceLabel: "VStructDepth1_Float64{F29: 3.248322134236514e+08}",
		Source: VStructDepth1_Float64{
			F29: 3.248322134236514e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_Float64{F29: 3.248322134236514e+08}",
		Target: VStructDepth1_Float64{
			F29: 3.248322134236514e+08,
		},
		SourceLabel: "VStructDepth1_All{F29: 3.248322134236514e+08}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F29: 3.248322134236514e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat64{}",
		Target:      VStructDepth1_VFloat64{},
		SourceLabel: "VStructDepth1_VFloat64{}",
		Source:      VStructDepth1_VFloat64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat64{}",
		Target:      VStructDepth1_VFloat64{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_VFloat64{}",
		Target:      VStructDepth1_VFloat64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_VFloat64{F30: 1.5}",
		Target: VStructDepth1_VFloat64{
			F30: 1.5,
		},
		SourceLabel: "VStructDepth1_VFloat64{F30: 1.5}",
		Source: VStructDepth1_VFloat64{
			F30: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_VFloat64{F30: 1.5}",
		Target: VStructDepth1_VFloat64{
			F30: 1.5,
		},
		SourceLabel: "VStructDepth1_All{F30: 1.5}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F30: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VFloat64{F30: -1.3345929771222658e+09}",
		Target: VStructDepth1_VFloat64{
			F30: -1.3345929771222658e+09,
		},
		SourceLabel: "VStructDepth1_VFloat64{F30: -1.3345929771222658e+09}",
		Source: VStructDepth1_VFloat64{
			F30: -1.3345929771222658e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_VFloat64{F30: -1.3345929771222658e+09}",
		Target: VStructDepth1_VFloat64{
			F30: -1.3345929771222658e+09,
		},
		SourceLabel: "VStructDepth1_All{F30: -1.3345929771222658e+09}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F30: -1.3345929771222658e+09,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVStructEmpty{}",
		Target:      VStructDepth1_OptVStructEmpty{},
		SourceLabel: "VStructDepth1_OptVStructEmpty{}",
		Source:      VStructDepth1_OptVStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVStructEmpty{}",
		Target:      VStructDepth1_OptVStructEmpty{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVStructEmpty{}",
		Target:      VStructDepth1_OptVStructEmpty{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_OptVStructEmpty{F31: {}}",
		Target: VStructDepth1_OptVStructEmpty{
			F31: &VStructEmpty{},
		},
		SourceLabel: "VStructDepth1_OptVStructEmpty{F31: {}}",
		Source: VStructDepth1_OptVStructEmpty{
			F31: &VStructEmpty{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_OptVStructEmpty{F31: {}}",
		Target: VStructDepth1_OptVStructEmpty{
			F31: &VStructEmpty{},
		},
		SourceLabel: "VStructDepth1_All{F31: {}}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F31: &VStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVNamedError{}",
		Target:      VStructDepth1_OptVNamedError{},
		SourceLabel: "VStructDepth1_OptVNamedError{}",
		Source:      VStructDepth1_OptVNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVNamedError{}",
		Target:      VStructDepth1_OptVNamedError{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth1_OptVNamedError{}",
		Target:      VStructDepth1_OptVNamedError{},
		SourceLabel: "VStructDepth1_All{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VStructDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VStructDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth1_OptVNamedError{F32: {Msg: \"Δ\"}}",
		Target: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Msg: "Δ",
			},
		},
		SourceLabel: "VStructDepth1_OptVNamedError{F32: {Msg: \"Δ\"}}",
		Source: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Msg: "Δ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_OptVNamedError{F32: {Msg: \"Δ\"}}",
		Target: VStructDepth1_OptVNamedError{
			F32: &VNamedError{
				Msg: "Δ",
			},
		},
		SourceLabel: "VStructDepth1_All{F32: {Msg: \"Δ\"}}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
			F32: &VNamedError{
				Msg: "Δ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_All{F0: nil}",
		Target:      VUnionDepth1_All(VUnionDepth1_AllF0{}),
		SourceLabel: "VUnionDepth1_All{F0: nil}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_All{F0: nil}",
		Target:      VUnionDepth1_All(VUnionDepth1_AllF0{}),
		SourceLabel: "VUnionDepth1_Any{F0: nil}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_All{F9: C}",
		Target:      VUnionDepth1_All(VUnionDepth1_AllF9{VEnumBcdC}),
		SourceLabel: "VUnionDepth1_All{F9: C}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF9{VEnumBcdC}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_All{F9: C}",
		Target:      VUnionDepth1_All(VUnionDepth1_AllF9{VEnumBcdC}),
		SourceLabel: "VUnionDepth1_VEnumBcd{F9: C}",
		Source:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{VEnumBcdC}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Any{F0: nil}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{}),
		SourceLabel: "VUnionDepth1_Any{F0: nil}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Any{F0: nil}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{}),
		SourceLabel: "VUnionDepth1_All{F0: nil}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Any{F0: int64(-123)}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{int64(-123)}),
		SourceLabel: "VUnionDepth1_Any{F0: int64(-123)}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{int64(-123)}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Any{F0: int64(-123)}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{int64(-123)}),
		SourceLabel: "VUnionDepth1_All{F0: int64(-123)}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{int64(-123)}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Any{F0: VList_Byte(\"\\xf2\")}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VList_Byte("\xf2")}),
		SourceLabel: "VUnionDepth1_Any{F0: VList_Byte(\"\\xf2\")}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VList_Byte("\xf2")}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Any{F0: VList_Byte(\"\\xf2\")}",
		Target:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VList_Byte("\xf2")}),
		SourceLabel: "VUnionDepth1_All{F0: VList_Byte(\"\\xf2\")}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{VList_Byte("\xf2")}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Bool{F1: false}",
		Target:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{}),
		SourceLabel: "VUnionDepth1_Bool{F1: false}",
		Source:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Bool{F1: false}",
		Target:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{}),
		SourceLabel: "VUnionDepth1_All{F1: false}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Bool{F1: true}",
		Target:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{true}),
		SourceLabel: "VUnionDepth1_Bool{F1: true}",
		Source:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{true}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Bool{F1: true}",
		Target:      VUnionDepth1_Bool(VUnionDepth1_BoolF1{true}),
		SourceLabel: "VUnionDepth1_All{F1: true}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF1{true}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VBool{F2: false}",
		Target:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{}),
		SourceLabel: "VUnionDepth1_VBool{F2: false}",
		Source:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VBool{F2: false}",
		Target:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{}),
		SourceLabel: "VUnionDepth1_All{F2: false}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VBool{F2: true}",
		Target:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{true}),
		SourceLabel: "VUnionDepth1_VBool{F2: true}",
		Source:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{true}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VBool{F2: true}",
		Target:      VUnionDepth1_VBool(VUnionDepth1_VBoolF2{true}),
		SourceLabel: "VUnionDepth1_All{F2: true}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF2{true}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_String{F3: \"\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{}),
		SourceLabel: "VUnionDepth1_String{F3: \"\"}",
		Source:      VUnionDepth1_String(VUnionDepth1_StringF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_String{F3: \"\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{}),
		SourceLabel: "VUnionDepth1_All{F3: \"\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "VUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      VUnionDepth1_String(VUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "VUnionDepth1_All{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF3{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_String{F3: \"deΔΘΠ\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{"deΔΘΠ"}),
		SourceLabel: "VUnionDepth1_String{F3: \"deΔΘΠ\"}",
		Source:      VUnionDepth1_String(VUnionDepth1_StringF3{"deΔΘΠ"}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_String{F3: \"deΔΘΠ\"}",
		Target:      VUnionDepth1_String(VUnionDepth1_StringF3{"deΔΘΠ"}),
		SourceLabel: "VUnionDepth1_All{F3: \"deΔΘΠ\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF3{"deΔΘΠ"}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VString{F4: \"\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{}),
		SourceLabel: "VUnionDepth1_VString{F4: \"\"}",
		Source:      VUnionDepth1_VString(VUnionDepth1_VStringF4{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VString{F4: \"\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{}),
		SourceLabel: "VUnionDepth1_All{F4: \"\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF4{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "VUnionDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "VUnionDepth1_All{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF4{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VString{F4: \"d\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"d"}),
		SourceLabel: "VUnionDepth1_VString{F4: \"d\"}",
		Source:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"d"}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VString{F4: \"d\"}",
		Target:      VUnionDepth1_VString(VUnionDepth1_VStringF4{"d"}),
		SourceLabel: "VUnionDepth1_All{F4: \"d\"}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF4{"d"}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(any)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.AnyType}),
		SourceLabel: "VUnionDepth1_TypeObject{F5: typeobject(any)}",
		Source:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.AnyType}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(any)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.AnyType}),
		SourceLabel: "VUnionDepth1_All{F5: typeobject(any)}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF5{vdl.AnyType}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.Int64Type}),
		SourceLabel: "VUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Source:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.Int64Type}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.Int64Type}),
		SourceLabel: "VUnionDepth1_All{F5: typeobject(int64)}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF5{vdl.Int64Type}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(VArray1_VList_Byte)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{__VDLType_array_151}),
		SourceLabel: "VUnionDepth1_TypeObject{F5: typeobject(VArray1_VList_Byte)}",
		Source:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{__VDLType_array_151}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(VArray1_VList_Byte)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{__VDLType_array_151}),
		SourceLabel: "VUnionDepth1_All{F5: typeobject(VArray1_VList_Byte)}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF5{__VDLType_array_151}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Byte{F6: 0}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{}),
		SourceLabel: "VUnionDepth1_Byte{F6: 0}",
		Source:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Byte{F6: 0}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{}),
		SourceLabel: "VUnionDepth1_All{F6: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Byte{F6: 123}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{123}),
		SourceLabel: "VUnionDepth1_Byte{F6: 123}",
		Source:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Byte{F6: 123}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{123}),
		SourceLabel: "VUnionDepth1_All{F6: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF6{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Byte{F6: 148}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{148}),
		SourceLabel: "VUnionDepth1_Byte{F6: 148}",
		Source:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{148}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Byte{F6: 148}",
		Target:      VUnionDepth1_Byte(VUnionDepth1_ByteF6{148}),
		SourceLabel: "VUnionDepth1_All{F6: 148}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF6{148}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VByte{F7: 0}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{}),
		SourceLabel: "VUnionDepth1_VByte{F7: 0}",
		Source:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VByte{F7: 0}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{}),
		SourceLabel: "VUnionDepth1_All{F7: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF7{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VByte{F7: 123}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{123}),
		SourceLabel: "VUnionDepth1_VByte{F7: 123}",
		Source:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VByte{F7: 123}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{123}),
		SourceLabel: "VUnionDepth1_All{F7: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF7{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VByte{F7: 162}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{162}),
		SourceLabel: "VUnionDepth1_VByte{F7: 162}",
		Source:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{162}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VByte{F7: 162}",
		Target:      VUnionDepth1_VByte(VUnionDepth1_VByteF7{162}),
		SourceLabel: "VUnionDepth1_All{F7: 162}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF7{162}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VEnumAbc{F8: A}",
		Target:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{}),
		SourceLabel: "VUnionDepth1_VEnumAbc{F8: A}",
		Source:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VEnumAbc{F8: A}",
		Target:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{}),
		SourceLabel: "VUnionDepth1_All{F8: A}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF8{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VEnumAbc{F8: C}",
		Target:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{VEnumAbcC}),
		SourceLabel: "VUnionDepth1_VEnumAbc{F8: C}",
		Source:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{VEnumAbcC}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VEnumAbc{F8: C}",
		Target:      VUnionDepth1_VEnumAbc(VUnionDepth1_VEnumAbcF8{VEnumAbcC}),
		SourceLabel: "VUnionDepth1_All{F8: C}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF8{VEnumAbcC}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VEnumBcd{F9: B}",
		Target:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{}),
		SourceLabel: "VUnionDepth1_VEnumBcd{F9: B}",
		Source:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VEnumBcd{F9: B}",
		Target:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{}),
		SourceLabel: "VUnionDepth1_All{F9: B}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF9{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VEnumBcd{F9: D}",
		Target:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{VEnumBcdD}),
		SourceLabel: "VUnionDepth1_VEnumBcd{F9: D}",
		Source:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{VEnumBcdD}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VEnumBcd{F9: D}",
		Target:      VUnionDepth1_VEnumBcd(VUnionDepth1_VEnumBcdF9{VEnumBcdD}),
		SourceLabel: "VUnionDepth1_All{F9: D}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF9{VEnumBcdD}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VStructEmpty{F10: {}}",
		Target:      VUnionDepth1_VStructEmpty(VUnionDepth1_VStructEmptyF10{}),
		SourceLabel: "VUnionDepth1_VStructEmpty{F10: {}}",
		Source:      VUnionDepth1_VStructEmpty(VUnionDepth1_VStructEmptyF10{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VStructEmpty{F10: {}}",
		Target:      VUnionDepth1_VStructEmpty(VUnionDepth1_VStructEmptyF10{}),
		SourceLabel: "VUnionDepth1_All{F10: {}}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF10{}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {}}",
		Target:      VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{}),
		SourceLabel: "VUnionDepth1_VNamedError{F11: {}}",
		Source:      VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {}}",
		Target:      VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{}),
		SourceLabel: "VUnionDepth1_All{F11: {}}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF11{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_All{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF11{VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {Id: \"Π\", Msg: \"ΔΘ\"}}",
		Target: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "Π",
			Msg: "ΔΘ",
		}}),
		SourceLabel: "VUnionDepth1_VNamedError{F11: {Id: \"Π\", Msg: \"ΔΘ\"}}",
		Source: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "Π",
			Msg: "ΔΘ",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VNamedError{F11: {Id: \"Π\", Msg: \"ΔΘ\"}}",
		Target: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
			Id:  "Π",
			Msg: "ΔΘ",
		}}),
		SourceLabel: "VUnionDepth1_All{F11: {Id: \"Π\", Msg: \"ΔΘ\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF11{VNamedError{
			Id:  "Π",
			Msg: "ΔΘ",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Error{F12: nil}",
		Target:      VUnionDepth1_Error(VUnionDepth1_ErrorF12{}),
		SourceLabel: "VUnionDepth1_Error{F12: nil}",
		Source:      VUnionDepth1_Error(VUnionDepth1_ErrorF12{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Error{F12: nil}",
		Target:      VUnionDepth1_Error(VUnionDepth1_ErrorF12{}),
		SourceLabel: "VUnionDepth1_All{F12: nil}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF12{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
		SourceLabel: "VUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
		SourceLabel: "VUnionDepth1_All{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Error{F12: {Id: \"ΘΠ\", Msg: \"澤世\"}}",
		Target: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "ΘΠ",
			Msg: "澤世",
		})}),
		SourceLabel: "VUnionDepth1_Error{F12: {Id: \"ΘΠ\", Msg: \"澤世\"}}",
		Source: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "ΘΠ",
			Msg: "澤世",
		})}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Error{F12: {Id: \"ΘΠ\", Msg: \"澤世\"}}",
		Target: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "ΘΠ",
			Msg: "澤世",
		})}),
		SourceLabel: "VUnionDepth1_All{F12: {Id: \"ΘΠ\", Msg: \"澤世\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
			Id:  "ΘΠ",
			Msg: "澤世",
		})}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint16{F13: 0}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{}),
		SourceLabel: "VUnionDepth1_Uint16{F13: 0}",
		Source:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint16{F13: 0}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{}),
		SourceLabel: "VUnionDepth1_All{F13: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF13{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint16{F13: 123}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{123}),
		SourceLabel: "VUnionDepth1_Uint16{F13: 123}",
		Source:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint16{F13: 123}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{123}),
		SourceLabel: "VUnionDepth1_All{F13: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF13{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint16{F13: 38806}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{38806}),
		SourceLabel: "VUnionDepth1_Uint16{F13: 38806}",
		Source:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{38806}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint16{F13: 38806}",
		Target:      VUnionDepth1_Uint16(VUnionDepth1_Uint16F13{38806}),
		SourceLabel: "VUnionDepth1_All{F13: 38806}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF13{38806}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint16{F14: 0}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{}),
		SourceLabel: "VUnionDepth1_VUint16{F14: 0}",
		Source:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint16{F14: 0}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{}),
		SourceLabel: "VUnionDepth1_All{F14: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF14{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint16{F14: 123}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{123}),
		SourceLabel: "VUnionDepth1_VUint16{F14: 123}",
		Source:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint16{F14: 123}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{123}),
		SourceLabel: "VUnionDepth1_All{F14: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF14{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint16{F14: 25922}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{25922}),
		SourceLabel: "VUnionDepth1_VUint16{F14: 25922}",
		Source:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{25922}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint16{F14: 25922}",
		Target:      VUnionDepth1_VUint16(VUnionDepth1_VUint16F14{25922}),
		SourceLabel: "VUnionDepth1_All{F14: 25922}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF14{25922}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint32{F15: 0}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{}),
		SourceLabel: "VUnionDepth1_Uint32{F15: 0}",
		Source:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint32{F15: 0}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{}),
		SourceLabel: "VUnionDepth1_All{F15: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF15{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint32{F15: 123}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{123}),
		SourceLabel: "VUnionDepth1_Uint32{F15: 123}",
		Source:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint32{F15: 123}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{123}),
		SourceLabel: "VUnionDepth1_All{F15: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF15{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint32{F15: 2190777622}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{2190777622}),
		SourceLabel: "VUnionDepth1_Uint32{F15: 2190777622}",
		Source:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{2190777622}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint32{F15: 2190777622}",
		Target:      VUnionDepth1_Uint32(VUnionDepth1_Uint32F15{2190777622}),
		SourceLabel: "VUnionDepth1_All{F15: 2190777622}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF15{2190777622}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint32{F16: 0}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{}),
		SourceLabel: "VUnionDepth1_VUint32{F16: 0}",
		Source:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint32{F16: 0}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{}),
		SourceLabel: "VUnionDepth1_All{F16: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF16{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint32{F16: 123}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{123}),
		SourceLabel: "VUnionDepth1_VUint32{F16: 123}",
		Source:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint32{F16: 123}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{123}),
		SourceLabel: "VUnionDepth1_All{F16: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF16{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint32{F16: 2146335826}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{2146335826}),
		SourceLabel: "VUnionDepth1_VUint32{F16: 2146335826}",
		Source:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{2146335826}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint32{F16: 2146335826}",
		Target:      VUnionDepth1_VUint32(VUnionDepth1_VUint32F16{2146335826}),
		SourceLabel: "VUnionDepth1_All{F16: 2146335826}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF16{2146335826}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint64{F17: 0}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{}),
		SourceLabel: "VUnionDepth1_Uint64{F17: 0}",
		Source:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Uint64{F17: 0}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{}),
		SourceLabel: "VUnionDepth1_All{F17: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF17{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint64{F17: 123}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{123}),
		SourceLabel: "VUnionDepth1_Uint64{F17: 123}",
		Source:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Uint64{F17: 123}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{123}),
		SourceLabel: "VUnionDepth1_All{F17: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF17{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint64{F17: 8564503396676571567}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{8564503396676571567}),
		SourceLabel: "VUnionDepth1_Uint64{F17: 8564503396676571567}",
		Source:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{8564503396676571567}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Uint64{F17: 8564503396676571567}",
		Target:      VUnionDepth1_Uint64(VUnionDepth1_Uint64F17{8564503396676571567}),
		SourceLabel: "VUnionDepth1_All{F17: 8564503396676571567}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF17{8564503396676571567}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint64{F18: 0}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{}),
		SourceLabel: "VUnionDepth1_VUint64{F18: 0}",
		Source:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VUint64{F18: 0}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{}),
		SourceLabel: "VUnionDepth1_All{F18: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF18{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint64{F18: 123}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{123}),
		SourceLabel: "VUnionDepth1_VUint64{F18: 123}",
		Source:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VUint64{F18: 123}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{123}),
		SourceLabel: "VUnionDepth1_All{F18: 123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF18{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint64{F18: 13950474839629965026}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{13950474839629965026}),
		SourceLabel: "VUnionDepth1_VUint64{F18: 13950474839629965026}",
		Source:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{13950474839629965026}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VUint64{F18: 13950474839629965026}",
		Target:      VUnionDepth1_VUint64(VUnionDepth1_VUint64F18{13950474839629965026}),
		SourceLabel: "VUnionDepth1_All{F18: 13950474839629965026}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF18{13950474839629965026}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int8{F19: 0}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{}),
		SourceLabel: "VUnionDepth1_Int8{F19: 0}",
		Source:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int8{F19: 0}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{}),
		SourceLabel: "VUnionDepth1_All{F19: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF19{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int8{F19: -123}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-123}),
		SourceLabel: "VUnionDepth1_Int8{F19: -123}",
		Source:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int8{F19: -123}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-123}),
		SourceLabel: "VUnionDepth1_All{F19: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF19{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int8{F19: -28}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-28}),
		SourceLabel: "VUnionDepth1_Int8{F19: -28}",
		Source:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-28}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int8{F19: -28}",
		Target:      VUnionDepth1_Int8(VUnionDepth1_Int8F19{-28}),
		SourceLabel: "VUnionDepth1_All{F19: -28}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF19{-28}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt8{F20: 0}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{}),
		SourceLabel: "VUnionDepth1_VInt8{F20: 0}",
		Source:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt8{F20: 0}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{}),
		SourceLabel: "VUnionDepth1_All{F20: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF20{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt8{F20: -123}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{-123}),
		SourceLabel: "VUnionDepth1_VInt8{F20: -123}",
		Source:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt8{F20: -123}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{-123}),
		SourceLabel: "VUnionDepth1_All{F20: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF20{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt8{F20: 41}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{41}),
		SourceLabel: "VUnionDepth1_VInt8{F20: 41}",
		Source:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{41}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt8{F20: 41}",
		Target:      VUnionDepth1_VInt8(VUnionDepth1_VInt8F20{41}),
		SourceLabel: "VUnionDepth1_All{F20: 41}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF20{41}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int16{F21: 0}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{}),
		SourceLabel: "VUnionDepth1_Int16{F21: 0}",
		Source:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int16{F21: 0}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{}),
		SourceLabel: "VUnionDepth1_All{F21: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF21{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int16{F21: -123}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-123}),
		SourceLabel: "VUnionDepth1_Int16{F21: -123}",
		Source:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int16{F21: -123}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-123}),
		SourceLabel: "VUnionDepth1_All{F21: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF21{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int16{F21: -1424}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-1424}),
		SourceLabel: "VUnionDepth1_Int16{F21: -1424}",
		Source:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-1424}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int16{F21: -1424}",
		Target:      VUnionDepth1_Int16(VUnionDepth1_Int16F21{-1424}),
		SourceLabel: "VUnionDepth1_All{F21: -1424}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF21{-1424}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt16{F22: 0}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{}),
		SourceLabel: "VUnionDepth1_VInt16{F22: 0}",
		Source:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt16{F22: 0}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{}),
		SourceLabel: "VUnionDepth1_All{F22: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF22{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt16{F22: -123}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{-123}),
		SourceLabel: "VUnionDepth1_VInt16{F22: -123}",
		Source:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt16{F22: -123}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{-123}),
		SourceLabel: "VUnionDepth1_All{F22: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF22{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt16{F22: 1101}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{1101}),
		SourceLabel: "VUnionDepth1_VInt16{F22: 1101}",
		Source:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{1101}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt16{F22: 1101}",
		Target:      VUnionDepth1_VInt16(VUnionDepth1_VInt16F22{1101}),
		SourceLabel: "VUnionDepth1_All{F22: 1101}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF22{1101}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int32{F23: 0}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{}),
		SourceLabel: "VUnionDepth1_Int32{F23: 0}",
		Source:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int32{F23: 0}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{}),
		SourceLabel: "VUnionDepth1_All{F23: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF23{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int32{F23: -123}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{-123}),
		SourceLabel: "VUnionDepth1_Int32{F23: -123}",
		Source:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int32{F23: -123}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{-123}),
		SourceLabel: "VUnionDepth1_All{F23: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF23{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int32{F23: 597552188}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{597552188}),
		SourceLabel: "VUnionDepth1_Int32{F23: 597552188}",
		Source:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{597552188}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int32{F23: 597552188}",
		Target:      VUnionDepth1_Int32(VUnionDepth1_Int32F23{597552188}),
		SourceLabel: "VUnionDepth1_All{F23: 597552188}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF23{597552188}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt32{F24: 0}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{}),
		SourceLabel: "VUnionDepth1_VInt32{F24: 0}",
		Source:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt32{F24: 0}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{}),
		SourceLabel: "VUnionDepth1_All{F24: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF24{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt32{F24: -123}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{-123}),
		SourceLabel: "VUnionDepth1_VInt32{F24: -123}",
		Source:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt32{F24: -123}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{-123}),
		SourceLabel: "VUnionDepth1_All{F24: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF24{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt32{F24: 455537318}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{455537318}),
		SourceLabel: "VUnionDepth1_VInt32{F24: 455537318}",
		Source:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{455537318}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt32{F24: 455537318}",
		Target:      VUnionDepth1_VInt32(VUnionDepth1_VInt32F24{455537318}),
		SourceLabel: "VUnionDepth1_All{F24: 455537318}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF24{455537318}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int64{F25: 0}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{}),
		SourceLabel: "VUnionDepth1_Int64{F25: 0}",
		Source:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Int64{F25: 0}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{}),
		SourceLabel: "VUnionDepth1_All{F25: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF25{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int64{F25: -123}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{-123}),
		SourceLabel: "VUnionDepth1_Int64{F25: -123}",
		Source:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Int64{F25: -123}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{-123}),
		SourceLabel: "VUnionDepth1_All{F25: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF25{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int64{F25: 1372690032185737469}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{1372690032185737469}),
		SourceLabel: "VUnionDepth1_Int64{F25: 1372690032185737469}",
		Source:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{1372690032185737469}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Int64{F25: 1372690032185737469}",
		Target:      VUnionDepth1_Int64(VUnionDepth1_Int64F25{1372690032185737469}),
		SourceLabel: "VUnionDepth1_All{F25: 1372690032185737469}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF25{1372690032185737469}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt64{F26: 0}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{}),
		SourceLabel: "VUnionDepth1_VInt64{F26: 0}",
		Source:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VInt64{F26: 0}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{}),
		SourceLabel: "VUnionDepth1_All{F26: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF26{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt64{F26: -123}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{-123}),
		SourceLabel: "VUnionDepth1_VInt64{F26: -123}",
		Source:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VInt64{F26: -123}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{-123}),
		SourceLabel: "VUnionDepth1_All{F26: -123}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF26{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt64{F26: 631175252722087298}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{631175252722087298}),
		SourceLabel: "VUnionDepth1_VInt64{F26: 631175252722087298}",
		Source:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{631175252722087298}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VInt64{F26: 631175252722087298}",
		Target:      VUnionDepth1_VInt64(VUnionDepth1_VInt64F26{631175252722087298}),
		SourceLabel: "VUnionDepth1_All{F26: 631175252722087298}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF26{631175252722087298}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Float32{F27: 0}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{}),
		SourceLabel: "VUnionDepth1_Float32{F27: 0}",
		Source:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Float32{F27: 0}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{}),
		SourceLabel: "VUnionDepth1_All{F27: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF27{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Float32{F27: 1.5}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{1.5}),
		SourceLabel: "VUnionDepth1_Float32{F27: 1.5}",
		Source:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Float32{F27: 1.5}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{1.5}),
		SourceLabel: "VUnionDepth1_All{F27: 1.5}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF27{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Float32{F27: 3.2036168e+09}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{3.2036168e+09}),
		SourceLabel: "VUnionDepth1_Float32{F27: 3.2036168e+09}",
		Source:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{3.2036168e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Float32{F27: 3.2036168e+09}",
		Target:      VUnionDepth1_Float32(VUnionDepth1_Float32F27{3.2036168e+09}),
		SourceLabel: "VUnionDepth1_All{F27: 3.2036168e+09}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF27{3.2036168e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 0}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{}),
		SourceLabel: "VUnionDepth1_VFloat32{F28: 0}",
		Source:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 0}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{}),
		SourceLabel: "VUnionDepth1_All{F28: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF28{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 1.5}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.5}),
		SourceLabel: "VUnionDepth1_VFloat32{F28: 1.5}",
		Source:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 1.5}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.5}),
		SourceLabel: "VUnionDepth1_All{F28: 1.5}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF28{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 1.6305185e+09}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.6305185e+09}),
		SourceLabel: "VUnionDepth1_VFloat32{F28: 1.6305185e+09}",
		Source:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.6305185e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VFloat32{F28: 1.6305185e+09}",
		Target:      VUnionDepth1_VFloat32(VUnionDepth1_VFloat32F28{1.6305185e+09}),
		SourceLabel: "VUnionDepth1_All{F28: 1.6305185e+09}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF28{1.6305185e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Float64{F29: 0}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{}),
		SourceLabel: "VUnionDepth1_Float64{F29: 0}",
		Source:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_Float64{F29: 0}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{}),
		SourceLabel: "VUnionDepth1_All{F29: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF29{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Float64{F29: 1.5}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.5}),
		SourceLabel: "VUnionDepth1_Float64{F29: 1.5}",
		Source:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_Float64{F29: 1.5}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.5}),
		SourceLabel: "VUnionDepth1_All{F29: 1.5}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF29{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Float64{F29: 1.41257087459224e+09}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.41257087459224e+09}),
		SourceLabel: "VUnionDepth1_Float64{F29: 1.41257087459224e+09}",
		Source:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.41257087459224e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_Float64{F29: 1.41257087459224e+09}",
		Target:      VUnionDepth1_Float64(VUnionDepth1_Float64F29{1.41257087459224e+09}),
		SourceLabel: "VUnionDepth1_All{F29: 1.41257087459224e+09}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF29{1.41257087459224e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 0}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{}),
		SourceLabel: "VUnionDepth1_VFloat64{F30: 0}",
		Source:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 0}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{}),
		SourceLabel: "VUnionDepth1_All{F30: 0}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF30{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 1.5}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{1.5}),
		SourceLabel: "VUnionDepth1_VFloat64{F30: 1.5}",
		Source:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 1.5}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{1.5}),
		SourceLabel: "VUnionDepth1_All{F30: 1.5}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF30{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 2.485054342054782e+09}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{2.485054342054782e+09}),
		SourceLabel: "VUnionDepth1_VFloat64{F30: 2.485054342054782e+09}",
		Source:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{2.485054342054782e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_VFloat64{F30: 2.485054342054782e+09}",
		Target:      VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{2.485054342054782e+09}),
		SourceLabel: "VUnionDepth1_All{F30: 2.485054342054782e+09}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF30{2.485054342054782e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_OptVStructEmpty{F31: nil}",
		Target:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{}),
		SourceLabel: "VUnionDepth1_OptVStructEmpty{F31: nil}",
		Source:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_OptVStructEmpty{F31: nil}",
		Target:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{}),
		SourceLabel: "VUnionDepth1_All{F31: nil}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF31{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_OptVStructEmpty{F31: {}}",
		Target:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
		SourceLabel: "VUnionDepth1_OptVStructEmpty{F31: {}}",
		Source:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_OptVStructEmpty{F31: {}}",
		Target:      VUnionDepth1_OptVStructEmpty(VUnionDepth1_OptVStructEmptyF31{&VStructEmpty{}}),
		SourceLabel: "VUnionDepth1_All{F31: {}}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF31{&VStructEmpty{}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: nil}",
		Target:      VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{}),
		SourceLabel: "VUnionDepth1_OptVNamedError{F32: nil}",
		Source:      VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: nil}",
		Target:      VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{}),
		SourceLabel: "VUnionDepth1_All{F32: nil}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF32{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"e\"}}",
		Target: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id: "e",
		}}),
		SourceLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"e\"}}",
		Source: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id: "e",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_OptVNamedError{F32: {Id: \"e\"}}",
		Target: VUnionDepth1_OptVNamedError(VUnionDepth1_OptVNamedErrorF32{&VNamedError{
			Id: "e",
		}}),
		SourceLabel: "VUnionDepth1_All{F32: {Id: \"e\"}}",
		Source: VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
			Id: "e",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VEnumBcd(nil)",
		Target:      (*VStructDepth1_VEnumBcd)(nil),
		SourceLabel: "?VStructDepth1_VEnumBcd(nil)",
		Source:      (*VStructDepth1_VEnumBcd)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VEnumBcd(nil)",
		Target:      (*VStructDepth1_VEnumBcd)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructDepth1_VEnumBcd(nil)",
		Target:      (*VStructDepth1_VEnumBcd)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VEnumBcd{F9: D}",
		Target: &VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
		SourceLabel: "?VStructDepth1_VEnumBcd{F9: D}",
		Source: &VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VEnumBcd{F9: D}",
		Target: &VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
		SourceLabel: "VStructDepth1_VEnumBcd{F9: D}",
		Source: VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VUint16(nil)",
		Target:      (*VStructDepth1_VUint16)(nil),
		SourceLabel: "?VStructDepth1_VUint16(nil)",
		Source:      (*VStructDepth1_VUint16)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VUint16(nil)",
		Target:      (*VStructDepth1_VUint16)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructDepth1_VUint16(nil)",
		Target:      (*VStructDepth1_VUint16)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VUint16{F14: 123}",
		Target: &VStructDepth1_VUint16{
			F14: 123,
		},
		SourceLabel: "?VStructDepth1_VUint16{F14: 123}",
		Source: &VStructDepth1_VUint16{
			F14: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VUint16{F14: 123}",
		Target: &VStructDepth1_VUint16{
			F14: 123,
		},
		SourceLabel: "VStructDepth1_VUint16{F14: 123}",
		Source: VStructDepth1_VUint16{
			F14: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?VStructDepth1_VUint16{F14: 37716}",
		Target: &VStructDepth1_VUint16{
			F14: 37716,
		},
		SourceLabel: "?VStructDepth1_VUint16{F14: 37716}",
		Source: &VStructDepth1_VUint16{
			F14: 37716,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?VStructDepth1_VUint16{F14: 37716}",
		Target: &VStructDepth1_VUint16{
			F14: 37716,
		},
		SourceLabel: "VStructDepth1_All{F14: 37716}",
		Source: VStructDepth1_All{
			F5:  vdl.AnyType,
			F14: 37716,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VFloat32(nil)",
		Target:      (*VStructDepth1_VFloat32)(nil),
		SourceLabel: "?VStructDepth1_VFloat32(nil)",
		Source:      (*VStructDepth1_VFloat32)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructDepth1_VFloat32(nil)",
		Target:      (*VStructDepth1_VFloat32)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructDepth1_VFloat32(nil)",
		Target:      (*VStructDepth1_VFloat32)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VFloat32{F28: 1.5}",
		Target: &VStructDepth1_VFloat32{
			F28: 1.5,
		},
		SourceLabel: "?VStructDepth1_VFloat32{F28: 1.5}",
		Source: &VStructDepth1_VFloat32{
			F28: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructDepth1_VFloat32{F28: 1.5}",
		Target: &VStructDepth1_VFloat32{
			F28: 1.5,
		},
		SourceLabel: "VStructDepth1_VFloat32{F28: 1.5}",
		Source: VStructDepth1_VFloat32{
			F28: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?VStructDepth1_VFloat32{F28: -6.5563034e+08}",
		Target: &VStructDepth1_VFloat32{
			F28: -6.5563034e+08,
		},
		SourceLabel: "?VStructDepth1_VFloat32{F28: -6.5563034e+08}",
		Source: &VStructDepth1_VFloat32{
			F28: -6.5563034e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?VStructDepth1_VFloat32{F28: -6.5563034e+08}",
		Target: &VStructDepth1_VFloat32{
			F28: -6.5563034e+08,
		},
		SourceLabel: "VStructDepth1_VFloat32{F28: -6.5563034e+08}",
		Source: VStructDepth1_VFloat32{
			F28: -6.5563034e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_VArray3_Int64{}",
		Target:      VArray1_VArray3_Int64{},
		SourceLabel: "VArray1_VArray3_Int64{}",
		Source:      VArray1_VArray3_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VArray3_Int64{}",
		Target:      VArray1_VArray3_Int64{},
		SourceLabel: "VArray1_VList_Byte{\"\\x00\\x00\\x00\"}",
		Source: VArray1_VList_Byte{
			VList_Byte("\x00\x00\x00"),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VArray3_Int64{}",
		Target:      VArray1_VArray3_Int64{},
		SourceLabel: "VList_Any{VArray3_Int64{}}",
		Source: VList_Any{
			VArray3_Int64{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_VArray3_Int64{{-123, -123, -123}}",
		Target: VArray1_VArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "VArray1_VArray3_Int64{{-123, -123, -123}}",
		Source: VArray1_VArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_VArray3_Int64{{-123, -123, -123}}",
		Target: VArray1_VArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "[]any{VArray3_Int64{-123, -123, -123}}",
		Source: []interface{}{
			VArray3_Int64{
				-123,
				-123,
				-123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_VArray3_Int64{{3140532439919578637, 0, -1675111489895785450}}",
		Target: VArray1_VArray3_Int64{
			{
				3140532439919578637,
				0,
				-1675111489895785450,
			},
		},
		SourceLabel: "VArray1_VArray3_Int64{{3140532439919578637, 0, -1675111489895785450}}",
		Source: VArray1_VArray3_Int64{
			{
				3140532439919578637,
				0,
				-1675111489895785450,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_VArray3_Int64{{3140532439919578637, 0, -1675111489895785450}}",
		Target: VArray1_VArray3_Int64{
			{
				3140532439919578637,
				0,
				-1675111489895785450,
			},
		},
		SourceLabel: "VList_Any{VArray3_Int64{3140532439919578637, 0, -1675111489895785450}}",
		Source: VList_Any{
			VArray3_Int64{
				3140532439919578637,
				0,
				-1675111489895785450,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_VList_Byte{}",
		Target:      VArray1_VList_Byte{},
		SourceLabel: "VArray1_VList_Byte{}",
		Source:      VArray1_VList_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VList_Byte{}",
		Target:      VArray1_VList_Byte{},
		SourceLabel: "[]any{VList_Byte(\"\")}",
		Source: []interface{}{
			VList_Byte(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VList_Byte{}",
		Target:      VArray1_VList_Byte{},
		SourceLabel: "VList_Any{VList_Byte(\"\")}",
		Source: VList_Any{
			VList_Byte(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_VList_Byte{\"{\"}",
		Target: VArray1_VList_Byte{
			VList_Byte("{"),
		},
		SourceLabel: "VArray1_VList_Byte{\"{\"}",
		Source: VArray1_VList_Byte{
			VList_Byte("{"),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_VList_Byte{\"{\"}",
		Target: VArray1_VList_Byte{
			VList_Byte("{"),
		},
		SourceLabel: "VList_Any{VList_Byte(\"{\")}",
		Source: VList_Any{
			VList_Byte("{"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_VList_Byte{\"M\"}",
		Target: VArray1_VList_Byte{
			VList_Byte("M"),
		},
		SourceLabel: "VArray1_VList_Byte{\"M\"}",
		Source: VArray1_VList_Byte{
			VList_Byte("M"),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_VList_Byte{\"M\"}",
		Target: VArray1_VList_Byte{
			VList_Byte("M"),
		},
		SourceLabel: "VList_Any{VList_Byte(\"M\")}",
		Source: VList_Any{
			VList_Byte("M"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_Set_VEnumBcd{}",
		Target:      VArray1_Set_VEnumBcd{},
		SourceLabel: "VArray1_Set_VEnumBcd{}",
		Source:      VArray1_Set_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Set_VEnumBcd{}",
		Target:      VArray1_Set_VEnumBcd{},
		SourceLabel: "VList_Any{set[VEnumBcd]{}}",
		Source: VList_Any{
			map[VEnumBcd]struct{}(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_Set_VEnumBcd{}",
		Target:      VArray1_Set_VEnumBcd{},
		SourceLabel: "[]any{set[VEnumBcd]{}}",
		Source: []interface{}{
			map[VEnumBcd]struct{}(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_Set_VEnumBcd{{D}}",
		Target: VArray1_Set_VEnumBcd{
			{
				VEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "VArray1_Set_VEnumBcd{{D}}",
		Source: VArray1_Set_VEnumBcd{
			{
				VEnumBcdD: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_Set_VEnumBcd{{D}}",
		Target: VArray1_Set_VEnumBcd{
			{
				VEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "VList_Any{set[VEnumBcd]{D}}",
		Source: VList_Any{
			map[VEnumBcd]struct{}{
				VEnumBcdD: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_Map_Byte_Byte{}",
		Target:      VArray2_Map_Byte_Byte{},
		SourceLabel: "VArray2_Map_Byte_Byte{}",
		Source:      VArray2_Map_Byte_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Map_Byte_Byte{}",
		Target:      VArray2_Map_Byte_Byte{},
		SourceLabel: "VList_VMap_Byte_Byte{{}, {}}",
		Source: VList_VMap_Byte_Byte{
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Map_Byte_Byte{}",
		Target:      VArray2_Map_Byte_Byte{},
		SourceLabel: "[]any{map[byte]byte{}, map[byte]byte{}}",
		Source: []interface{}{
			map[byte]byte(nil),
			map[byte]byte(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Target: VArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
		SourceLabel: "VArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Source: VArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Target: VArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
		SourceLabel: "[]any{map[byte]byte{123: 123}, map[byte]byte{123: 123}}",
		Source: []interface{}{
			map[byte]byte{
				123: 123,
			},
			map[byte]byte{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_Map_Byte_Byte{{210: 41}, {49: 101, 71: 29}}",
		Target: VArray2_Map_Byte_Byte{
			{
				210: 41,
			},
			{
				49: 101,
				71: 29,
			},
		},
		SourceLabel: "VArray2_Map_Byte_Byte{{210: 41}, {49: 101, 71: 29}}",
		Source: VArray2_Map_Byte_Byte{
			{
				210: 41,
			},
			{
				49: 101,
				71: 29,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_Map_Byte_Byte{{210: 41}, {49: 101, 71: 29}}",
		Target: VArray2_Map_Byte_Byte{
			{
				210: 41,
			},
			{
				49: 101,
				71: 29,
			},
		},
		SourceLabel: "[]any{map[byte]byte{210: 41}, map[byte]byte{49: 101, 71: 29}}",
		Source: []interface{}{
			map[byte]byte{
				210: 41,
			},
			map[byte]byte{
				49: 101,
				71: 29,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth1_All{}",
		Target: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "VArray2_VStructDepth1_All{}",
		Source: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth1_All{}",
		Target: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "[]any{VStructDepth1_All{}, VStructDepth1_All{}}",
		Source: []interface{}{
			VStructDepth1_All{
				F5: vdl.AnyType,
			},
			VStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth1_All{}",
		Target: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "[]?VStructEmpty{{}, {}}",
		Source: []*VStructEmpty{
			{},
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VArray2_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VArray2_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VArray2_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VArray2_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "[]any{VStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, VStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []interface{}{
			VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_VStructDepth1_All{{}, {F0: VSet_VEnumBcd{B, D}, F2: true, F3: \"bcdeΔΘΠΣ\", F4: \"ΔΘΠΣΦ王普\", F5: typeobject(string), F6: 74, F7: 106, F11: {Id: \"ΔΘ\"}, F12: {Id: \"普澤世\", RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ\"}, F13: 29956, F15: 2806488877, F16: 2613752288, F17: 8595384034960235991, F18: 1361086061696848676, F20: 52, F21: 517, F22: 6499, F23: -781101161, F24: 245178006, F26: -1951100444087312537, F27: -1.1819049e+09, F28: 1.321459e+07, F29: 1.125436415986085e+09, F30: 7.794798141282212e+08, F31: {}, F32: {Msg: \"cdeΔΘΠΣΦ王普\"}}}",
		Target: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F2: true,
				F3: "bcdeΔΘΠΣ",
				F4: "ΔΘΠΣΦ王普",
				F5: vdl.StringType,
				F6: 74,
				F7: 106,
				F11: VNamedError{
					Id: "ΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "deΔΘΠΣΦ",
				}),
				F13: 29956,
				F15: 2806488877,
				F16: 2613752288,
				F17: 8595384034960235991,
				F18: 1361086061696848676,
				F20: 52,
				F21: 517,
				F22: 6499,
				F23: -781101161,
				F24: 245178006,
				F26: -1951100444087312537,
				F27: -1.1819049e+09,
				F28: 1.321459e+07,
				F29: 1.125436415986085e+09,
				F30: 7.794798141282212e+08,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Msg: "cdeΔΘΠΣΦ王普",
				},
			},
		},
		SourceLabel: "VArray2_VStructDepth1_All{{}, {F0: VSet_VEnumBcd{B, D}, F2: true, F3: \"bcdeΔΘΠΣ\", F4: \"ΔΘΠΣΦ王普\", F5: typeobject(string), F6: 74, F7: 106, F11: {Id: \"ΔΘ\"}, F12: {Id: \"普澤世\", RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ\"}, F13: 29956, F15: 2806488877, F16: 2613752288, F17: 8595384034960235991, F18: 1361086061696848676, F20: 52, F21: 517, F22: 6499, F23: -781101161, F24: 245178006, F26: -1951100444087312537, F27: -1.1819049e+09, F28: 1.321459e+07, F29: 1.125436415986085e+09, F30: 7.794798141282212e+08, F31: {}, F32: {Msg: \"cdeΔΘΠΣΦ王普\"}}}",
		Source: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F2: true,
				F3: "bcdeΔΘΠΣ",
				F4: "ΔΘΠΣΦ王普",
				F5: vdl.StringType,
				F6: 74,
				F7: 106,
				F11: VNamedError{
					Id: "ΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "deΔΘΠΣΦ",
				}),
				F13: 29956,
				F15: 2806488877,
				F16: 2613752288,
				F17: 8595384034960235991,
				F18: 1361086061696848676,
				F20: 52,
				F21: 517,
				F22: 6499,
				F23: -781101161,
				F24: 245178006,
				F26: -1951100444087312537,
				F27: -1.1819049e+09,
				F28: 1.321459e+07,
				F29: 1.125436415986085e+09,
				F30: 7.794798141282212e+08,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Msg: "cdeΔΘΠΣΦ王普",
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_VStructDepth1_All{{}, {F0: VSet_VEnumBcd{B, D}, F2: true, F3: \"bcdeΔΘΠΣ\", F4: \"ΔΘΠΣΦ王普\", F5: typeobject(string), F6: 74, F7: 106, F11: {Id: \"ΔΘ\"}, F12: {Id: \"普澤世\", RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ\"}, F13: 29956, F15: 2806488877, F16: 2613752288, F17: 8595384034960235991, F18: 1361086061696848676, F20: 52, F21: 517, F22: 6499, F23: -781101161, F24: 245178006, F26: -1951100444087312537, F27: -1.1819049e+09, F28: 1.321459e+07, F29: 1.125436415986085e+09, F30: 7.794798141282212e+08, F31: {}, F32: {Msg: \"cdeΔΘΠΣΦ王普\"}}}",
		Target: VArray2_VStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F2: true,
				F3: "bcdeΔΘΠΣ",
				F4: "ΔΘΠΣΦ王普",
				F5: vdl.StringType,
				F6: 74,
				F7: 106,
				F11: VNamedError{
					Id: "ΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "deΔΘΠΣΦ",
				}),
				F13: 29956,
				F15: 2806488877,
				F16: 2613752288,
				F17: 8595384034960235991,
				F18: 1361086061696848676,
				F20: 52,
				F21: 517,
				F22: 6499,
				F23: -781101161,
				F24: 245178006,
				F26: -1951100444087312537,
				F27: -1.1819049e+09,
				F28: 1.321459e+07,
				F29: 1.125436415986085e+09,
				F30: 7.794798141282212e+08,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Msg: "cdeΔΘΠΣΦ王普",
				},
			},
		},
		SourceLabel: "VList_Any{VStructDepth1_All{}, VStructDepth1_All{F0: VSet_VEnumBcd{B, D}, F2: true, F3: \"bcdeΔΘΠΣ\", F4: \"ΔΘΠΣΦ王普\", F5: typeobject(string), F6: 74, F7: 106, F11: {Id: \"ΔΘ\"}, F12: {Id: \"普澤世\", RetryCode: RetryBackoff, Msg: \"deΔΘΠΣΦ\"}, F13: 29956, F15: 2806488877, F16: 2613752288, F17: 8595384034960235991, F18: 1361086061696848676, F20: 52, F21: 517, F22: 6499, F23: -781101161, F24: 245178006, F26: -1951100444087312537, F27: -1.1819049e+09, F28: 1.321459e+07, F29: 1.125436415986085e+09, F30: 7.794798141282212e+08, F31: {}, F32: {Msg: \"cdeΔΘΠΣΦ王普\"}}}",
		Source: VList_Any{
			VStructDepth1_All{
				F5: vdl.AnyType,
			},
			VStructDepth1_All{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F2: true,
				F3: "bcdeΔΘΠΣ",
				F4: "ΔΘΠΣΦ王普",
				F5: vdl.StringType,
				F6: 74,
				F7: 106,
				F11: VNamedError{
					Id: "ΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "deΔΘΠΣΦ",
				}),
				F13: 29956,
				F15: 2806488877,
				F16: 2613752288,
				F17: 8595384034960235991,
				F18: 1361086061696848676,
				F20: 52,
				F21: 517,
				F22: 6499,
				F23: -781101161,
				F24: 245178006,
				F26: -1951100444087312537,
				F27: -1.1819049e+09,
				F28: 1.321459e+07,
				F29: 1.125436415986085e+09,
				F30: 7.794798141282212e+08,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Msg: "cdeΔΘΠΣΦ王普",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_VUnionDepth1_All{}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
		},
		SourceLabel: "VArray3_VUnionDepth1_All{}",
		Source: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VUnionDepth1_All{}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
		},
		SourceLabel: "VArray3_Any{VUnionDepth1_All{F0: nil}, VUnionDepth1_All{F0: nil}, VUnionDepth1_All{F0: nil}}",
		Source: VArray3_Any{
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_VUnionDepth1_All{}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF0{},
		},
		SourceLabel: "[]any{VUnionDepth1_All{F0: nil}, VUnionDepth1_All{F0: nil}, VUnionDepth1_All{F0: nil}}",
		Source: []interface{}{
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
			VUnionDepth1_All(VUnionDepth1_AllF0{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "VArray3_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_VUnionDepth1_All{{F31: {}}, {F0: nil}, {F12: {Id: \"abcdeΔΘΠΣΦ王普澤\", RetryCode: RetryBackoff, Msg: \"bcd\"}}}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF31{&VStructEmpty{}},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcd",
			})},
		},
		SourceLabel: "VArray3_VUnionDepth1_All{{F31: {}}, {F0: nil}, {F12: {Id: \"abcdeΔΘΠΣΦ王普澤\", RetryCode: RetryBackoff, Msg: \"bcd\"}}}",
		Source: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF31{&VStructEmpty{}},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcd",
			})},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_VUnionDepth1_All{{F31: {}}, {F0: nil}, {F12: {Id: \"abcdeΔΘΠΣΦ王普澤\", RetryCode: RetryBackoff, Msg: \"bcd\"}}}",
		Target: VArray3_VUnionDepth1_All{
			VUnionDepth1_AllF31{&VStructEmpty{}},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcd",
			})},
		},
		SourceLabel: "[]VUnionDepth1_All{{F31: {}}, {F0: nil}, {F12: {Id: \"abcdeΔΘΠΣΦ王普澤\", RetryCode: RetryBackoff, Msg: \"bcd\"}}}",
		Source: []VUnionDepth1_All{
			VUnionDepth1_AllF31{&VStructEmpty{}},
			VUnionDepth1_AllF0{},
			VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcd",
			})},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{}",
		Target:      VArray3_OptVStructDepth1_VFloat32{},
		SourceLabel: "VArray3_OptVStructDepth1_VFloat32{}",
		Source:      VArray3_OptVStructDepth1_VFloat32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{}",
		Target:      VArray3_OptVStructDepth1_VFloat32{},
		SourceLabel: "VList_OptVStructEmpty{nil, nil, nil}",
		Source: VList_OptVStructEmpty{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{}",
		Target:      VArray3_OptVStructDepth1_VFloat32{},
		SourceLabel: "VList_Any{nil, nil, nil}",
		Source: VList_Any{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Target: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
		SourceLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Source: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Target: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
		SourceLabel: "[]any{?VStructDepth1_VFloat32{F28: 1.5}, ?VStructDepth1_VFloat32{F28: 1.5}, ?VStructDepth1_VFloat32{F28: 1.5}}",
		Source: []interface{}{
			&VStructDepth1_VFloat32{
				F28: 1.5,
			},
			&VStructDepth1_VFloat32{
				F28: 1.5,
			},
			&VStructDepth1_VFloat32{
				F28: 1.5,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 3.866333e+08}, nil, nil}",
		Target: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 3.866333e+08,
			},
			nil,
			nil,
		},
		SourceLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 3.866333e+08}, nil, nil}",
		Source: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 3.866333e+08,
			},
			nil,
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_OptVStructDepth1_VFloat32{{F28: 3.866333e+08}, nil, nil}",
		Target: VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 3.866333e+08,
			},
			nil,
			nil,
		},
		SourceLabel: "VList_Any{?VStructDepth1_VFloat32{F28: 3.866333e+08}, nil, nil}",
		Source: VList_Any{
			&VStructDepth1_VFloat32{
				F28: 3.866333e+08,
			},
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VArray1_String{}",
		Target:      []VArray1_String(nil),
		SourceLabel: "[]VArray1_String{}",
		Source:      []VArray1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VArray1_String{}",
		Target:      []VArray1_String(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VArray1_String{}",
		Target:      []VArray1_String(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_List_VString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_List_VString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普\"}}",
		Target: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普",
			},
		},
		SourceLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普\"}}",
		Source: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普\"}}",
		Target: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普",
			},
		},
		SourceLabel: "VList_Any{VArray1_String{\"abcdeΔΘΠΣΦ王普\"}}",
		Source: VList_Any{
			VArray1_String{
				"abcdeΔΘΠΣΦ王普",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VList_Error{}",
		Target:      []VList_Error(nil),
		SourceLabel: "[]VList_Error{}",
		Source:      []VList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VList_Error{}",
		Target:      []VList_Error(nil),
		SourceLabel: "VList_VArray1_VStructEmpty{}",
		Source:      VList_VArray1_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VList_Error{}",
		Target:      []VList_Error(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
		SourceLabel: "[]VList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
		SourceLabel: "VList_Any{VList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_Any{
			VList_Error{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VList_Error{{{Msg: \"bcdeΔΘΠΣΦ王普\"}, {RetryCode: RetryBackoff}}}",
		Target: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "bcdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
		},
		SourceLabel: "[]VList_Error{{{Msg: \"bcdeΔΘΠΣΦ王普\"}, {RetryCode: RetryBackoff}}}",
		Source: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "bcdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VList_Error{{{Msg: \"bcdeΔΘΠΣΦ王普\"}, {RetryCode: RetryBackoff}}}",
		Target: []VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "bcdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
		},
		SourceLabel: "[]any{VList_Error{{Msg: \"bcdeΔΘΠΣΦ王普\"}, {RetryCode: RetryBackoff}}}",
		Source: []interface{}{
			VList_Error{
				verror.FromWire(&vdl.WireError{
					Msg: "bcdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]set[VEnumAbc]{}",
		Target:      []map[VEnumAbc]struct{}(nil),
		SourceLabel: "[]set[VEnumAbc]{}",
		Source:      []map[VEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]set[VEnumAbc]{}",
		Target:      []map[VEnumAbc]struct{}(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]set[VEnumAbc]{}",
		Target:      []map[VEnumAbc]struct{}(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]set[VEnumAbc]{{C}}",
		Target: []map[VEnumAbc]struct{}{
			{
				VEnumAbcC: struct{}{},
			},
		},
		SourceLabel: "[]set[VEnumAbc]{{C}}",
		Source: []map[VEnumAbc]struct{}{
			{
				VEnumAbcC: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]set[VEnumAbc]{{C}}",
		Target: []map[VEnumAbc]struct{}{
			{
				VEnumAbcC: struct{}{},
			},
		},
		SourceLabel: "VArray1_Set_VEnumBcd{{C}}",
		Source: VArray1_Set_VEnumBcd{
			{
				VEnumBcdC: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VMap_VByte_VByte{}",
		Target:      []VMap_VByte_VByte(nil),
		SourceLabel: "[]VMap_VByte_VByte{}",
		Source:      []VMap_VByte_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VMap_VByte_VByte{}",
		Target:      []VMap_VByte_VByte(nil),
		SourceLabel: "VList_VMap_Byte_Byte{}",
		Source:      VList_VMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VMap_VByte_VByte{}",
		Target:      []VMap_VByte_VByte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VMap_VByte_VByte{{123: 123}}",
		Target: []VMap_VByte_VByte{
			{
				123: 123,
			},
		},
		SourceLabel: "[]VMap_VByte_VByte{{123: 123}}",
		Source: []VMap_VByte_VByte{
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VMap_VByte_VByte{{123: 123}}",
		Target: []VMap_VByte_VByte{
			{
				123: 123,
			},
		},
		SourceLabel: "[]any{VMap_VByte_VByte{123: 123}}",
		Source: []interface{}{
			VMap_VByte_VByte{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VMap_VByte_VByte{{}, {238: 27, 93: 226}, {0: 63, 21: 156, 32: 153}}",
		Target: []VMap_VByte_VByte{
			nil,
			{
				238: 27,
				93:  226,
			},
			{
				0:  63,
				21: 156,
				32: 153,
			},
		},
		SourceLabel: "[]VMap_VByte_VByte{{}, {238: 27, 93: 226}, {0: 63, 21: 156, 32: 153}}",
		Source: []VMap_VByte_VByte{
			nil,
			{
				238: 27,
				93:  226,
			},
			{
				0:  63,
				21: 156,
				32: 153,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VMap_VByte_VByte{{}, {238: 27, 93: 226}, {0: 63, 21: 156, 32: 153}}",
		Target: []VMap_VByte_VByte{
			nil,
			{
				238: 27,
				93:  226,
			},
			{
				0:  63,
				21: 156,
				32: 153,
			},
		},
		SourceLabel: "VArray3_Any{VMap_VByte_VByte{}, VMap_VByte_VByte{238: 27, 93: 226}, VMap_VByte_VByte{0: 63, 21: 156, 32: 153}}",
		Source: VArray3_Any{
			VMap_VByte_VByte(nil),
			VMap_VByte_VByte{
				238: 27,
				93:  226,
			},
			VMap_VByte_VByte{
				0:  63,
				21: 156,
				32: 153,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VStructDepth1_All{}",
		Target:      []VStructDepth1_All(nil),
		SourceLabel: "[]VStructDepth1_All{}",
		Source:      []VStructDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructDepth1_All{}",
		Target:      []VStructDepth1_All(nil),
		SourceLabel: "[]?VStructDepth1_VEnumBcd{}",
		Source:      []*VStructDepth1_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructDepth1_All{}",
		Target:      []VStructDepth1_All(nil),
		SourceLabel: "VList_VStructEmpty{}",
		Source:      VList_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "[]VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VList_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VStructDepth1_All{{F0: VSet_VEnumBcd{B, C, D}, F1: true, F2: true, F3: \"cdeΔΘΠΣΦ王普澤世界\", F4: \"deΔΘΠΣΦ\", F5: typeobject(VUnionDepth2_VUnionDepth1_VUint32), F6: 178, F7: 161, F9: C, F11: {Id: \"ΘΠΣ\", Msg: \"deΔΘΠΣΦ\"}, F12: {Id: \"d\", RetryCode: RetryRefetch}, F13: 21300, F14: 9775, F15: 3419458020, F16: 553722229, F17: 16797505676926839448, F18: 13654046964625701696, F19: -1, F20: -50, F21: -15226, F22: -12071, F24: 687003500, F25: 3645239680692615557, F26: -1514562113997130375, F27: -1.1204439e+09, F28: -2.1808506e+08, F29: -1.3398946988550127e+09, F30: -8.923850039615406e+08, F31: {}}, {F0: VArray3_VBool{}, F3: \"ΠΣΦ王普\", F4: \"d\", F6: 224, F7: 128, F8: B, F9: D, F11: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, F13: 53225, F14: 39597, F15: 3431380833, F16: 3485198401, F17: 890704984324607923, F18: 15543594353799962422, F19: -54, F21: 3893, F22: 8098, F23: -1004395905, F25: -4566599201093206064, F26: -1266517983086515342, F27: 7.564722e+07, F29: -5.075160767192724e+08, F30: 1.2610437600689824e+09, F32: {Id: \"王\", Msg: \"Π\"}}, {F0: VUnionDepth1_Error{F12: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣ\"}}, F2: true, F3: \"ΠΣΦ王普澤世界\", F4: \"ΘΠΣ\", F5: typeobject(VStructDepth2_Map_Byte_Byte), F6: 126, F7: 247, F8: B, F9: D, F13: 14170, F16: 3024472117, F17: 4471507067867680605, F18: 14558949138706969546, F19: -13, F20: 44, F21: 1616, F23: 885588183, F24: 213623835, F25: -2990024350677478442, F26: 2463652078409591445, F27: 6.802491e+08, F28: -1.2006404e+09, F29: -1.3578094407875485e+09, F30: 4.919561592402944e+07, F31: {}, F32: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}}",
		Target: []VStructDepth1_All{
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F1: true,
				F2: true,
				F3: "cdeΔΘΠΣΦ王普澤世界",
				F4: "deΔΘΠΣΦ",
				F5: __VDLType_union_208,
				F6: 178,
				F7: 161,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "ΘΠΣ",
					Msg: "deΔΘΠΣΦ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
				}),
				F13: 21300,
				F14: 9775,
				F15: 3419458020,
				F16: 553722229,
				F17: 16797505676926839448,
				F18: 13654046964625701696,
				F19: -1,
				F20: -50,
				F21: -15226,
				F22: -12071,
				F24: 687003500,
				F25: 3645239680692615557,
				F26: -1514562113997130375,
				F27: -1.1204439e+09,
				F28: -2.1808506e+08,
				F29: -1.3398946988550127e+09,
				F30: -8.923850039615406e+08,
				F31: &VStructEmpty{},
			},
			{
				F0: VArray3_VBool{},
				F3: "ΠΣΦ王普",
				F4: "d",
				F5: vdl.AnyType,
				F6: 224,
				F7: 128,
				F8: VEnumAbcB,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣΦ王普澤世",
				},
				F13: 53225,
				F14: 39597,
				F15: 3431380833,
				F16: 3485198401,
				F17: 890704984324607923,
				F18: 15543594353799962422,
				F19: -54,
				F21: 3893,
				F22: 8098,
				F23: -1004395905,
				F25: -4566599201093206064,
				F26: -1266517983086515342,
				F27: 7.564722e+07,
				F29: -5.075160767192724e+08,
				F30: 1.2610437600689824e+09,
				F32: &VNamedError{
					Id:  "王",
					Msg: "Π",
				},
			},
			{
				F0: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣ",
				})}),
				F2:  true,
				F3:  "ΠΣΦ王普澤世界",
				F4:  "ΘΠΣ",
				F5:  __VDLType_struct_187,
				F6:  126,
				F7:  247,
				F8:  VEnumAbcB,
				F9:  VEnumBcdD,
				F13: 14170,
				F16: 3024472117,
				F17: 4471507067867680605,
				F18: 14558949138706969546,
				F19: -13,
				F20: 44,
				F21: 1616,
				F23: 885588183,
				F24: 213623835,
				F25: -2990024350677478442,
				F26: 2463652078409591445,
				F27: 6.802491e+08,
				F28: -1.2006404e+09,
				F29: -1.3578094407875485e+09,
				F30: 4.919561592402944e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "bcdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普澤世",
				},
			},
		},
		SourceLabel: "[]VStructDepth1_All{{F0: VSet_VEnumBcd{B, C, D}, F1: true, F2: true, F3: \"cdeΔΘΠΣΦ王普澤世界\", F4: \"deΔΘΠΣΦ\", F5: typeobject(VUnionDepth2_VUnionDepth1_VUint32), F6: 178, F7: 161, F9: C, F11: {Id: \"ΘΠΣ\", Msg: \"deΔΘΠΣΦ\"}, F12: {Id: \"d\", RetryCode: RetryRefetch}, F13: 21300, F14: 9775, F15: 3419458020, F16: 553722229, F17: 16797505676926839448, F18: 13654046964625701696, F19: -1, F20: -50, F21: -15226, F22: -12071, F24: 687003500, F25: 3645239680692615557, F26: -1514562113997130375, F27: -1.1204439e+09, F28: -2.1808506e+08, F29: -1.3398946988550127e+09, F30: -8.923850039615406e+08, F31: {}}, {F0: VArray3_VBool{}, F3: \"ΠΣΦ王普\", F4: \"d\", F6: 224, F7: 128, F8: B, F9: D, F11: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, F13: 53225, F14: 39597, F15: 3431380833, F16: 3485198401, F17: 890704984324607923, F18: 15543594353799962422, F19: -54, F21: 3893, F22: 8098, F23: -1004395905, F25: -4566599201093206064, F26: -1266517983086515342, F27: 7.564722e+07, F29: -5.075160767192724e+08, F30: 1.2610437600689824e+09, F32: {Id: \"王\", Msg: \"Π\"}}, {F0: VUnionDepth1_Error{F12: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣ\"}}, F2: true, F3: \"ΠΣΦ王普澤世界\", F4: \"ΘΠΣ\", F5: typeobject(VStructDepth2_Map_Byte_Byte), F6: 126, F7: 247, F8: B, F9: D, F13: 14170, F16: 3024472117, F17: 4471507067867680605, F18: 14558949138706969546, F19: -13, F20: 44, F21: 1616, F23: 885588183, F24: 213623835, F25: -2990024350677478442, F26: 2463652078409591445, F27: 6.802491e+08, F28: -1.2006404e+09, F29: -1.3578094407875485e+09, F30: 4.919561592402944e+07, F31: {}, F32: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}}",
		Source: []VStructDepth1_All{
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F1: true,
				F2: true,
				F3: "cdeΔΘΠΣΦ王普澤世界",
				F4: "deΔΘΠΣΦ",
				F5: __VDLType_union_208,
				F6: 178,
				F7: 161,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "ΘΠΣ",
					Msg: "deΔΘΠΣΦ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
				}),
				F13: 21300,
				F14: 9775,
				F15: 3419458020,
				F16: 553722229,
				F17: 16797505676926839448,
				F18: 13654046964625701696,
				F19: -1,
				F20: -50,
				F21: -15226,
				F22: -12071,
				F24: 687003500,
				F25: 3645239680692615557,
				F26: -1514562113997130375,
				F27: -1.1204439e+09,
				F28: -2.1808506e+08,
				F29: -1.3398946988550127e+09,
				F30: -8.923850039615406e+08,
				F31: &VStructEmpty{},
			},
			{
				F0: VArray3_VBool{},
				F3: "ΠΣΦ王普",
				F4: "d",
				F5: vdl.AnyType,
				F6: 224,
				F7: 128,
				F8: VEnumAbcB,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣΦ王普澤世",
				},
				F13: 53225,
				F14: 39597,
				F15: 3431380833,
				F16: 3485198401,
				F17: 890704984324607923,
				F18: 15543594353799962422,
				F19: -54,
				F21: 3893,
				F22: 8098,
				F23: -1004395905,
				F25: -4566599201093206064,
				F26: -1266517983086515342,
				F27: 7.564722e+07,
				F29: -5.075160767192724e+08,
				F30: 1.2610437600689824e+09,
				F32: &VNamedError{
					Id:  "王",
					Msg: "Π",
				},
			},
			{
				F0: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣ",
				})}),
				F2:  true,
				F3:  "ΠΣΦ王普澤世界",
				F4:  "ΘΠΣ",
				F5:  __VDLType_struct_187,
				F6:  126,
				F7:  247,
				F8:  VEnumAbcB,
				F9:  VEnumBcdD,
				F13: 14170,
				F16: 3024472117,
				F17: 4471507067867680605,
				F18: 14558949138706969546,
				F19: -13,
				F20: 44,
				F21: 1616,
				F23: 885588183,
				F24: 213623835,
				F25: -2990024350677478442,
				F26: 2463652078409591445,
				F27: 6.802491e+08,
				F28: -1.2006404e+09,
				F29: -1.3578094407875485e+09,
				F30: 4.919561592402944e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "bcdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普澤世",
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VStructDepth1_All{{F0: VSet_VEnumBcd{B, C, D}, F1: true, F2: true, F3: \"cdeΔΘΠΣΦ王普澤世界\", F4: \"deΔΘΠΣΦ\", F5: typeobject(VUnionDepth2_VUnionDepth1_VUint32), F6: 178, F7: 161, F9: C, F11: {Id: \"ΘΠΣ\", Msg: \"deΔΘΠΣΦ\"}, F12: {Id: \"d\", RetryCode: RetryRefetch}, F13: 21300, F14: 9775, F15: 3419458020, F16: 553722229, F17: 16797505676926839448, F18: 13654046964625701696, F19: -1, F20: -50, F21: -15226, F22: -12071, F24: 687003500, F25: 3645239680692615557, F26: -1514562113997130375, F27: -1.1204439e+09, F28: -2.1808506e+08, F29: -1.3398946988550127e+09, F30: -8.923850039615406e+08, F31: {}}, {F0: VArray3_VBool{}, F3: \"ΠΣΦ王普\", F4: \"d\", F6: 224, F7: 128, F8: B, F9: D, F11: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, F13: 53225, F14: 39597, F15: 3431380833, F16: 3485198401, F17: 890704984324607923, F18: 15543594353799962422, F19: -54, F21: 3893, F22: 8098, F23: -1004395905, F25: -4566599201093206064, F26: -1266517983086515342, F27: 7.564722e+07, F29: -5.075160767192724e+08, F30: 1.2610437600689824e+09, F32: {Id: \"王\", Msg: \"Π\"}}, {F0: VUnionDepth1_Error{F12: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣ\"}}, F2: true, F3: \"ΠΣΦ王普澤世界\", F4: \"ΘΠΣ\", F5: typeobject(VStructDepth2_Map_Byte_Byte), F6: 126, F7: 247, F8: B, F9: D, F13: 14170, F16: 3024472117, F17: 4471507067867680605, F18: 14558949138706969546, F19: -13, F20: 44, F21: 1616, F23: 885588183, F24: 213623835, F25: -2990024350677478442, F26: 2463652078409591445, F27: 6.802491e+08, F28: -1.2006404e+09, F29: -1.3578094407875485e+09, F30: 4.919561592402944e+07, F31: {}, F32: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}}",
		Target: []VStructDepth1_All{
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F1: true,
				F2: true,
				F3: "cdeΔΘΠΣΦ王普澤世界",
				F4: "deΔΘΠΣΦ",
				F5: __VDLType_union_208,
				F6: 178,
				F7: 161,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "ΘΠΣ",
					Msg: "deΔΘΠΣΦ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
				}),
				F13: 21300,
				F14: 9775,
				F15: 3419458020,
				F16: 553722229,
				F17: 16797505676926839448,
				F18: 13654046964625701696,
				F19: -1,
				F20: -50,
				F21: -15226,
				F22: -12071,
				F24: 687003500,
				F25: 3645239680692615557,
				F26: -1514562113997130375,
				F27: -1.1204439e+09,
				F28: -2.1808506e+08,
				F29: -1.3398946988550127e+09,
				F30: -8.923850039615406e+08,
				F31: &VStructEmpty{},
			},
			{
				F0: VArray3_VBool{},
				F3: "ΠΣΦ王普",
				F4: "d",
				F5: vdl.AnyType,
				F6: 224,
				F7: 128,
				F8: VEnumAbcB,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣΦ王普澤世",
				},
				F13: 53225,
				F14: 39597,
				F15: 3431380833,
				F16: 3485198401,
				F17: 890704984324607923,
				F18: 15543594353799962422,
				F19: -54,
				F21: 3893,
				F22: 8098,
				F23: -1004395905,
				F25: -4566599201093206064,
				F26: -1266517983086515342,
				F27: 7.564722e+07,
				F29: -5.075160767192724e+08,
				F30: 1.2610437600689824e+09,
				F32: &VNamedError{
					Id:  "王",
					Msg: "Π",
				},
			},
			{
				F0: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣ",
				})}),
				F2:  true,
				F3:  "ΠΣΦ王普澤世界",
				F4:  "ΘΠΣ",
				F5:  __VDLType_struct_187,
				F6:  126,
				F7:  247,
				F8:  VEnumAbcB,
				F9:  VEnumBcdD,
				F13: 14170,
				F16: 3024472117,
				F17: 4471507067867680605,
				F18: 14558949138706969546,
				F19: -13,
				F20: 44,
				F21: 1616,
				F23: 885588183,
				F24: 213623835,
				F25: -2990024350677478442,
				F26: 2463652078409591445,
				F27: 6.802491e+08,
				F28: -1.2006404e+09,
				F29: -1.3578094407875485e+09,
				F30: 4.919561592402944e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "bcdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普澤世",
				},
			},
		},
		SourceLabel: "VList_VStructDepth1_All{{F0: VSet_VEnumBcd{B, C, D}, F1: true, F2: true, F3: \"cdeΔΘΠΣΦ王普澤世界\", F4: \"deΔΘΠΣΦ\", F5: typeobject(VUnionDepth2_VUnionDepth1_VUint32), F6: 178, F7: 161, F9: C, F11: {Id: \"ΘΠΣ\", Msg: \"deΔΘΠΣΦ\"}, F12: {Id: \"d\", RetryCode: RetryRefetch}, F13: 21300, F14: 9775, F15: 3419458020, F16: 553722229, F17: 16797505676926839448, F18: 13654046964625701696, F19: -1, F20: -50, F21: -15226, F22: -12071, F24: 687003500, F25: 3645239680692615557, F26: -1514562113997130375, F27: -1.1204439e+09, F28: -2.1808506e+08, F29: -1.3398946988550127e+09, F30: -8.923850039615406e+08, F31: {}}, {F0: VArray3_VBool{}, F3: \"ΠΣΦ王普\", F4: \"d\", F6: 224, F7: 128, F8: B, F9: D, F11: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣΦ王普澤世\"}, F13: 53225, F14: 39597, F15: 3431380833, F16: 3485198401, F17: 890704984324607923, F18: 15543594353799962422, F19: -54, F21: 3893, F22: 8098, F23: -1004395905, F25: -4566599201093206064, F26: -1266517983086515342, F27: 7.564722e+07, F29: -5.075160767192724e+08, F30: 1.2610437600689824e+09, F32: {Id: \"王\", Msg: \"Π\"}}, {F0: VUnionDepth1_Error{F12: {Id: \"bcd\", Msg: \"abcdeΔΘΠΣ\"}}, F2: true, F3: \"ΠΣΦ王普澤世界\", F4: \"ΘΠΣ\", F5: typeobject(VStructDepth2_Map_Byte_Byte), F6: 126, F7: 247, F8: B, F9: D, F13: 14170, F16: 3024472117, F17: 4471507067867680605, F18: 14558949138706969546, F19: -13, F20: 44, F21: 1616, F23: 885588183, F24: 213623835, F25: -2990024350677478442, F26: 2463652078409591445, F27: 6.802491e+08, F28: -1.2006404e+09, F29: -1.3578094407875485e+09, F30: 4.919561592402944e+07, F31: {}, F32: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普澤世\"}}}",
		Source: VList_VStructDepth1_All{
			{
				F0: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F1: true,
				F2: true,
				F3: "cdeΔΘΠΣΦ王普澤世界",
				F4: "deΔΘΠΣΦ",
				F5: __VDLType_union_208,
				F6: 178,
				F7: 161,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "ΘΠΣ",
					Msg: "deΔΘΠΣΦ",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
				}),
				F13: 21300,
				F14: 9775,
				F15: 3419458020,
				F16: 553722229,
				F17: 16797505676926839448,
				F18: 13654046964625701696,
				F19: -1,
				F20: -50,
				F21: -15226,
				F22: -12071,
				F24: 687003500,
				F25: 3645239680692615557,
				F26: -1514562113997130375,
				F27: -1.1204439e+09,
				F28: -2.1808506e+08,
				F29: -1.3398946988550127e+09,
				F30: -8.923850039615406e+08,
				F31: &VStructEmpty{},
			},
			{
				F0: VArray3_VBool{},
				F3: "ΠΣΦ王普",
				F4: "d",
				F5: vdl.AnyType,
				F6: 224,
				F7: 128,
				F8: VEnumAbcB,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣΦ王普澤世",
				},
				F13: 53225,
				F14: 39597,
				F15: 3431380833,
				F16: 3485198401,
				F17: 890704984324607923,
				F18: 15543594353799962422,
				F19: -54,
				F21: 3893,
				F22: 8098,
				F23: -1004395905,
				F25: -4566599201093206064,
				F26: -1266517983086515342,
				F27: 7.564722e+07,
				F29: -5.075160767192724e+08,
				F30: 1.2610437600689824e+09,
				F32: &VNamedError{
					Id:  "王",
					Msg: "Π",
				},
			},
			{
				F0: VUnionDepth1_Error(VUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
					Id:  "bcd",
					Msg: "abcdeΔΘΠΣ",
				})}),
				F2:  true,
				F3:  "ΠΣΦ王普澤世界",
				F4:  "ΘΠΣ",
				F5:  __VDLType_struct_187,
				F6:  126,
				F7:  247,
				F8:  VEnumAbcB,
				F9:  VEnumBcdD,
				F13: 14170,
				F16: 3024472117,
				F17: 4471507067867680605,
				F18: 14558949138706969546,
				F19: -13,
				F20: 44,
				F21: 1616,
				F23: 885588183,
				F24: 213623835,
				F25: -2990024350677478442,
				F26: 2463652078409591445,
				F27: 6.802491e+08,
				F28: -1.2006404e+09,
				F29: -1.3578094407875485e+09,
				F30: 4.919561592402944e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "bcdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普澤世",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth1_All{}",
		Target:      []VUnionDepth1_All(nil),
		SourceLabel: "[]VUnionDepth1_All{}",
		Source:      []VUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth1_All{}",
		Target:      []VUnionDepth1_All(nil),
		SourceLabel: "VList_VUnionDepth1_All{}",
		Source:      VList_VUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth1_All{}",
		Target:      []VUnionDepth1_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "VList_Any{VUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_Any{
			VUnionDepth1_All(VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VUnionDepth1_All{{F24: -606482678}, {F24: 268033718}, {F7: 0}}",
		Target: []VUnionDepth1_All{
			VUnionDepth1_AllF24{-606482678},
			VUnionDepth1_AllF24{268033718},
			VUnionDepth1_AllF7{},
		},
		SourceLabel: "[]VUnionDepth1_All{{F24: -606482678}, {F24: 268033718}, {F7: 0}}",
		Source: []VUnionDepth1_All{
			VUnionDepth1_AllF24{-606482678},
			VUnionDepth1_AllF24{268033718},
			VUnionDepth1_AllF7{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VUnionDepth1_All{{F24: -606482678}, {F24: 268033718}, {F7: 0}}",
		Target: []VUnionDepth1_All{
			VUnionDepth1_AllF24{-606482678},
			VUnionDepth1_AllF24{268033718},
			VUnionDepth1_AllF7{},
		},
		SourceLabel: "VList_VUnionDepth1_All{{F24: -606482678}, {F24: 268033718}, {F7: 0}}",
		Source: VList_VUnionDepth1_All{
			VUnionDepth1_AllF24{-606482678},
			VUnionDepth1_AllF24{268033718},
			VUnionDepth1_AllF7{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth1_VEnumBcd{}",
		Target:      []*VStructDepth1_VEnumBcd(nil),
		SourceLabel: "[]?VStructDepth1_VEnumBcd{}",
		Source:      []*VStructDepth1_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth1_VEnumBcd{}",
		Target:      []*VStructDepth1_VEnumBcd(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth1_VEnumBcd{}",
		Target:      []*VStructDepth1_VEnumBcd(nil),
		SourceLabel: "VList_VStructDepth1_All{}",
		Source:      VList_VStructDepth1_All(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?VStructDepth1_VEnumBcd{{F9: D}}",
		Target: []*VStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "[]?VStructDepth1_VEnumBcd{{F9: D}}",
		Source: []*VStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?VStructDepth1_VEnumBcd{{F9: D}}",
		Target: []*VStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "[]any{?VStructDepth1_VEnumBcd{F9: D}}",
		Source: []interface{}{
			&VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VArray1_VStructEmpty{}",
		Target:      VList_VArray1_VStructEmpty(nil),
		SourceLabel: "VList_VArray1_VStructEmpty{}",
		Source:      VList_VArray1_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VArray1_VStructEmpty{}",
		Target:      VList_VArray1_VStructEmpty(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VArray1_VStructEmpty{}",
		Target:      VList_VArray1_VStructEmpty(nil),
		SourceLabel: "[]VList_Error{}",
		Source:      []VList_Error(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VArray1_VStructEmpty{{}}",
		Target: VList_VArray1_VStructEmpty{
			{},
		},
		SourceLabel: "VList_VArray1_VStructEmpty{{}}",
		Source: VList_VArray1_VStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VArray1_VStructEmpty{{}}",
		Target: VList_VArray1_VStructEmpty{
			{},
		},
		SourceLabel: "[]any{VArray1_VStructEmpty{}}",
		Source: []interface{}{
			VArray1_VStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_List_VString{}",
		Target:      VList_List_VString(nil),
		SourceLabel: "VList_List_VString{}",
		Source:      VList_List_VString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_List_VString{}",
		Target:      VList_List_VString(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_List_VString{}",
		Target:      VList_List_VString(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_List_VString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_List_VString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "VList_List_VString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VList_List_VString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_List_VString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VList_List_VString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]VArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []VArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_List_VString{{}, {\"ΔΘΠΣΦ王普\"}, {}}",
		Target: VList_List_VString{
			nil,
			{
				"ΔΘΠΣΦ王普",
			},
			nil,
		},
		SourceLabel: "VList_List_VString{{}, {\"ΔΘΠΣΦ王普\"}, {}}",
		Source: VList_List_VString{
			nil,
			{
				"ΔΘΠΣΦ王普",
			},
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_List_VString{{}, {\"ΔΘΠΣΦ王普\"}, {}}",
		Target: VList_List_VString{
			nil,
			{
				"ΔΘΠΣΦ王普",
			},
			nil,
		},
		SourceLabel: "[]any{[]VString{}, []VString{\"ΔΘΠΣΦ王普\"}, []VString{}}",
		Source: []interface{}{
			[]VString(nil),
			[]VString{
				"ΔΘΠΣΦ王普",
			},
			[]VString(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_Set_VBool{}",
		Target:      VList_Set_VBool(nil),
		SourceLabel: "VList_Set_VBool{}",
		Source:      VList_Set_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Set_VBool{}",
		Target:      VList_Set_VBool(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_Set_VBool{}",
		Target:      VList_Set_VBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_Set_VBool{{true}}",
		Target: VList_Set_VBool{
			{
				true: struct{}{},
			},
		},
		SourceLabel: "VList_Set_VBool{{true}}",
		Source: VList_Set_VBool{
			{
				true: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_Set_VBool{{true}}",
		Target: VList_Set_VBool{
			{
				true: struct{}{},
			},
		},
		SourceLabel: "[]any{set[VBool]{true}}",
		Source: []interface{}{
			map[VBool]struct{}{
				true: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VMap_Byte_Byte{}",
		Target:      VList_VMap_Byte_Byte(nil),
		SourceLabel: "VList_VMap_Byte_Byte{}",
		Source:      VList_VMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VMap_Byte_Byte{}",
		Target:      VList_VMap_Byte_Byte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VMap_Byte_Byte{}",
		Target:      VList_VMap_Byte_Byte(nil),
		SourceLabel: "[]VMap_VByte_VByte{}",
		Source:      []VMap_VByte_VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VMap_Byte_Byte{{123: 123}}",
		Target: VList_VMap_Byte_Byte{
			{
				123: 123,
			},
		},
		SourceLabel: "VList_VMap_Byte_Byte{{123: 123}}",
		Source: VList_VMap_Byte_Byte{
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VMap_Byte_Byte{{123: 123}}",
		Target: VList_VMap_Byte_Byte{
			{
				123: 123,
			},
		},
		SourceLabel: "VList_Any{VMap_Byte_Byte{123: 123}}",
		Source: VList_Any{
			VMap_Byte_Byte{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VMap_Byte_Byte{{0: 38, 110: 189, 16: 10}, {244: 71, 85: 119}, {19: 0}}",
		Target: VList_VMap_Byte_Byte{
			{
				0:   38,
				110: 189,
				16:  10,
			},
			{
				244: 71,
				85:  119,
			},
			{
				19: 0,
			},
		},
		SourceLabel: "VList_VMap_Byte_Byte{{0: 38, 110: 189, 16: 10}, {244: 71, 85: 119}, {19: 0}}",
		Source: VList_VMap_Byte_Byte{
			{
				0:   38,
				110: 189,
				16:  10,
			},
			{
				244: 71,
				85:  119,
			},
			{
				19: 0,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VMap_Byte_Byte{{0: 38, 110: 189, 16: 10}, {244: 71, 85: 119}, {19: 0}}",
		Target: VList_VMap_Byte_Byte{
			{
				0:   38,
				110: 189,
				16:  10,
			},
			{
				244: 71,
				85:  119,
			},
			{
				19: 0,
			},
		},
		SourceLabel: "VArray3_Any{VMap_Byte_Byte{0: 38, 110: 189, 16: 10}, VMap_Byte_Byte{244: 71, 85: 119}, VMap_Byte_Byte{19: 0}}",
		Source: VArray3_Any{
			VMap_Byte_Byte{
				0:   38,
				110: 189,
				16:  10,
			},
			VMap_Byte_Byte{
				244: 71,
				85:  119,
			},
			VMap_Byte_Byte{
				19: 0,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth1_All{}",
		Target:      VList_VStructDepth1_All(nil),
		SourceLabel: "VList_VStructDepth1_All{}",
		Source:      VList_VStructDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth1_All{}",
		Target:      VList_VStructDepth1_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth1_All{}",
		Target:      VList_VStructDepth1_All(nil),
		SourceLabel: "VList_OptVStructEmpty{}",
		Source:      VList_OptVStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VList_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VList_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VList_VStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VList_Any{VStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_Any{
			VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VStructDepth1_All{{F0: VStructDepth3_VArray1_Set_VEnumBcd{}, F1: true, F3: \"ΔΘΠΣ\", F4: \"bcdeΔΘΠΣΦ王普澤世\", F5: typeobject(VStructDepth2_Set_Float64), F7: 84, F8: C, F9: C, F13: 64515, F14: 50775, F16: 3948471590, F17: 2759752476641151986, F18: 1979427017952515225, F19: 7, F20: -1, F21: 14648, F22: -2788, F23: 465961122, F24: -258583691, F25: -4043214334903075675, F27: 7.242119e+08, F28: 5.943776e+08, F29: -2.9591125156416535e+09, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王\"}}, {F0: VMap_VBool_VBool{true: false}, F3: \"abc\", F4: \"eΔ\", F5: typeobject(VUnionDepth1_Int64), F6: 205, F7: 222, F9: D, F14: 51098, F15: 3951909279, F16: 3516880318, F17: 17030234882830957401, F19: -22, F20: -47, F21: 2787, F22: -6655, F23: 155784102, F24: -414308467, F26: -3714947197124914775, F27: 1.1178665e+09, F30: 4.1901862447963186e+07, F31: {}}}",
		Target: VList_VStructDepth1_All{
			{
				F0:  VStructDepth3_VArray1_Set_VEnumBcd{},
				F1:  true,
				F3:  "ΔΘΠΣ",
				F4:  "bcdeΔΘΠΣΦ王普澤世",
				F5:  __VDLType_struct_185,
				F7:  84,
				F8:  VEnumAbcC,
				F9:  VEnumBcdC,
				F13: 64515,
				F14: 50775,
				F16: 3948471590,
				F17: 2759752476641151986,
				F18: 1979427017952515225,
				F19: 7,
				F20: -1,
				F21: 14648,
				F22: -2788,
				F23: 465961122,
				F24: -258583691,
				F25: -4043214334903075675,
				F27: 7.242119e+08,
				F28: 5.943776e+08,
				F29: -2.9591125156416535e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "deΔΘΠΣΦ王",
				},
			},
			{
				F0: VMap_VBool_VBool{
					true: false,
				},
				F3:  "abc",
				F4:  "eΔ",
				F5:  __VDLType_union_142,
				F6:  205,
				F7:  222,
				F9:  VEnumBcdD,
				F14: 51098,
				F15: 3951909279,
				F16: 3516880318,
				F17: 17030234882830957401,
				F19: -22,
				F20: -47,
				F21: 2787,
				F22: -6655,
				F23: 155784102,
				F24: -414308467,
				F26: -3714947197124914775,
				F27: 1.1178665e+09,
				F30: 4.1901862447963186e+07,
				F31: &VStructEmpty{},
			},
		},
		SourceLabel: "VList_VStructDepth1_All{{F0: VStructDepth3_VArray1_Set_VEnumBcd{}, F1: true, F3: \"ΔΘΠΣ\", F4: \"bcdeΔΘΠΣΦ王普澤世\", F5: typeobject(VStructDepth2_Set_Float64), F7: 84, F8: C, F9: C, F13: 64515, F14: 50775, F16: 3948471590, F17: 2759752476641151986, F18: 1979427017952515225, F19: 7, F20: -1, F21: 14648, F22: -2788, F23: 465961122, F24: -258583691, F25: -4043214334903075675, F27: 7.242119e+08, F28: 5.943776e+08, F29: -2.9591125156416535e+09, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王\"}}, {F0: VMap_VBool_VBool{true: false}, F3: \"abc\", F4: \"eΔ\", F5: typeobject(VUnionDepth1_Int64), F6: 205, F7: 222, F9: D, F14: 51098, F15: 3951909279, F16: 3516880318, F17: 17030234882830957401, F19: -22, F20: -47, F21: 2787, F22: -6655, F23: 155784102, F24: -414308467, F26: -3714947197124914775, F27: 1.1178665e+09, F30: 4.1901862447963186e+07, F31: {}}}",
		Source: VList_VStructDepth1_All{
			{
				F0:  VStructDepth3_VArray1_Set_VEnumBcd{},
				F1:  true,
				F3:  "ΔΘΠΣ",
				F4:  "bcdeΔΘΠΣΦ王普澤世",
				F5:  __VDLType_struct_185,
				F7:  84,
				F8:  VEnumAbcC,
				F9:  VEnumBcdC,
				F13: 64515,
				F14: 50775,
				F16: 3948471590,
				F17: 2759752476641151986,
				F18: 1979427017952515225,
				F19: 7,
				F20: -1,
				F21: 14648,
				F22: -2788,
				F23: 465961122,
				F24: -258583691,
				F25: -4043214334903075675,
				F27: 7.242119e+08,
				F28: 5.943776e+08,
				F29: -2.9591125156416535e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "deΔΘΠΣΦ王",
				},
			},
			{
				F0: VMap_VBool_VBool{
					true: false,
				},
				F3:  "abc",
				F4:  "eΔ",
				F5:  __VDLType_union_142,
				F6:  205,
				F7:  222,
				F9:  VEnumBcdD,
				F14: 51098,
				F15: 3951909279,
				F16: 3516880318,
				F17: 17030234882830957401,
				F19: -22,
				F20: -47,
				F21: 2787,
				F22: -6655,
				F23: 155784102,
				F24: -414308467,
				F26: -3714947197124914775,
				F27: 1.1178665e+09,
				F30: 4.1901862447963186e+07,
				F31: &VStructEmpty{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VStructDepth1_All{{F0: VStructDepth3_VArray1_Set_VEnumBcd{}, F1: true, F3: \"ΔΘΠΣ\", F4: \"bcdeΔΘΠΣΦ王普澤世\", F5: typeobject(VStructDepth2_Set_Float64), F7: 84, F8: C, F9: C, F13: 64515, F14: 50775, F16: 3948471590, F17: 2759752476641151986, F18: 1979427017952515225, F19: 7, F20: -1, F21: 14648, F22: -2788, F23: 465961122, F24: -258583691, F25: -4043214334903075675, F27: 7.242119e+08, F28: 5.943776e+08, F29: -2.9591125156416535e+09, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王\"}}, {F0: VMap_VBool_VBool{true: false}, F3: \"abc\", F4: \"eΔ\", F5: typeobject(VUnionDepth1_Int64), F6: 205, F7: 222, F9: D, F14: 51098, F15: 3951909279, F16: 3516880318, F17: 17030234882830957401, F19: -22, F20: -47, F21: 2787, F22: -6655, F23: 155784102, F24: -414308467, F26: -3714947197124914775, F27: 1.1178665e+09, F30: 4.1901862447963186e+07, F31: {}}}",
		Target: VList_VStructDepth1_All{
			{
				F0:  VStructDepth3_VArray1_Set_VEnumBcd{},
				F1:  true,
				F3:  "ΔΘΠΣ",
				F4:  "bcdeΔΘΠΣΦ王普澤世",
				F5:  __VDLType_struct_185,
				F7:  84,
				F8:  VEnumAbcC,
				F9:  VEnumBcdC,
				F13: 64515,
				F14: 50775,
				F16: 3948471590,
				F17: 2759752476641151986,
				F18: 1979427017952515225,
				F19: 7,
				F20: -1,
				F21: 14648,
				F22: -2788,
				F23: 465961122,
				F24: -258583691,
				F25: -4043214334903075675,
				F27: 7.242119e+08,
				F28: 5.943776e+08,
				F29: -2.9591125156416535e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "deΔΘΠΣΦ王",
				},
			},
			{
				F0: VMap_VBool_VBool{
					true: false,
				},
				F3:  "abc",
				F4:  "eΔ",
				F5:  __VDLType_union_142,
				F6:  205,
				F7:  222,
				F9:  VEnumBcdD,
				F14: 51098,
				F15: 3951909279,
				F16: 3516880318,
				F17: 17030234882830957401,
				F19: -22,
				F20: -47,
				F21: 2787,
				F22: -6655,
				F23: 155784102,
				F24: -414308467,
				F26: -3714947197124914775,
				F27: 1.1178665e+09,
				F30: 4.1901862447963186e+07,
				F31: &VStructEmpty{},
			},
		},
		SourceLabel: "VList_Any{VStructDepth1_All{F0: VStructDepth3_VArray1_Set_VEnumBcd{}, F1: true, F3: \"ΔΘΠΣ\", F4: \"bcdeΔΘΠΣΦ王普澤世\", F5: typeobject(VStructDepth2_Set_Float64), F7: 84, F8: C, F9: C, F13: 64515, F14: 50775, F16: 3948471590, F17: 2759752476641151986, F18: 1979427017952515225, F19: 7, F20: -1, F21: 14648, F22: -2788, F23: 465961122, F24: -258583691, F25: -4043214334903075675, F27: 7.242119e+08, F28: 5.943776e+08, F29: -2.9591125156416535e+09, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王\"}}, VStructDepth1_All{F0: VMap_VBool_VBool{true: false}, F3: \"abc\", F4: \"eΔ\", F5: typeobject(VUnionDepth1_Int64), F6: 205, F7: 222, F9: D, F14: 51098, F15: 3951909279, F16: 3516880318, F17: 17030234882830957401, F19: -22, F20: -47, F21: 2787, F22: -6655, F23: 155784102, F24: -414308467, F26: -3714947197124914775, F27: 1.1178665e+09, F30: 4.1901862447963186e+07, F31: {}}}",
		Source: VList_Any{
			VStructDepth1_All{
				F0:  VStructDepth3_VArray1_Set_VEnumBcd{},
				F1:  true,
				F3:  "ΔΘΠΣ",
				F4:  "bcdeΔΘΠΣΦ王普澤世",
				F5:  __VDLType_struct_185,
				F7:  84,
				F8:  VEnumAbcC,
				F9:  VEnumBcdC,
				F13: 64515,
				F14: 50775,
				F16: 3948471590,
				F17: 2759752476641151986,
				F18: 1979427017952515225,
				F19: 7,
				F20: -1,
				F21: 14648,
				F22: -2788,
				F23: 465961122,
				F24: -258583691,
				F25: -4043214334903075675,
				F27: 7.242119e+08,
				F28: 5.943776e+08,
				F29: -2.9591125156416535e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "deΔΘΠΣΦ王",
				},
			},
			VStructDepth1_All{
				F0: VMap_VBool_VBool{
					true: false,
				},
				F3:  "abc",
				F4:  "eΔ",
				F5:  __VDLType_union_142,
				F6:  205,
				F7:  222,
				F9:  VEnumBcdD,
				F14: 51098,
				F15: 3951909279,
				F16: 3516880318,
				F17: 17030234882830957401,
				F19: -22,
				F20: -47,
				F21: 2787,
				F22: -6655,
				F23: 155784102,
				F24: -414308467,
				F26: -3714947197124914775,
				F27: 1.1178665e+09,
				F30: 4.1901862447963186e+07,
				F31: &VStructEmpty{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth1_All{}",
		Target:      VList_VUnionDepth1_All(nil),
		SourceLabel: "VList_VUnionDepth1_All{}",
		Source:      VList_VUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth1_All{}",
		Target:      VList_VUnionDepth1_All(nil),
		SourceLabel: "[]VUnionDepth1_All{}",
		Source:      []VUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth1_All{}",
		Target:      VList_VUnionDepth1_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VList_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "VList_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VList_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VList_VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []VUnionDepth1_All{
			VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VUnionDepth1_All{{F24: -41875852}, {F3: \"abcdeΔΘΠ\"}, {F19: -4}}",
		Target: VList_VUnionDepth1_All{
			VUnionDepth1_AllF24{-41875852},
			VUnionDepth1_AllF3{"abcdeΔΘΠ"},
			VUnionDepth1_AllF19{-4},
		},
		SourceLabel: "VList_VUnionDepth1_All{{F24: -41875852}, {F3: \"abcdeΔΘΠ\"}, {F19: -4}}",
		Source: VList_VUnionDepth1_All{
			VUnionDepth1_AllF24{-41875852},
			VUnionDepth1_AllF3{"abcdeΔΘΠ"},
			VUnionDepth1_AllF19{-4},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VUnionDepth1_All{{F24: -41875852}, {F3: \"abcdeΔΘΠ\"}, {F19: -4}}",
		Target: VList_VUnionDepth1_All{
			VUnionDepth1_AllF24{-41875852},
			VUnionDepth1_AllF3{"abcdeΔΘΠ"},
			VUnionDepth1_AllF19{-4},
		},
		SourceLabel: "VArray3_Any{VUnionDepth1_All{F24: -41875852}, VUnionDepth1_All{F3: \"abcdeΔΘΠ\"}, VUnionDepth1_All{F19: -4}}",
		Source: VArray3_Any{
			VUnionDepth1_All(VUnionDepth1_AllF24{-41875852}),
			VUnionDepth1_All(VUnionDepth1_AllF3{"abcdeΔΘΠ"}),
			VUnionDepth1_All(VUnionDepth1_AllF19{-4}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth1_VEnumBcd{}",
		Target:      VList_OptVStructDepth1_VEnumBcd(nil),
		SourceLabel: "VList_OptVStructDepth1_VEnumBcd{}",
		Source:      VList_OptVStructDepth1_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth1_VEnumBcd{}",
		Target:      VList_OptVStructDepth1_VEnumBcd(nil),
		SourceLabel: "[]VStructDepth1_All{}",
		Source:      []VStructDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth1_VEnumBcd{}",
		Target:      VList_OptVStructDepth1_VEnumBcd(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_OptVStructDepth1_VEnumBcd{{F9: D}}",
		Target: VList_OptVStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "VList_OptVStructDepth1_VEnumBcd{{F9: D}}",
		Source: VList_OptVStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_OptVStructDepth1_VEnumBcd{{F9: D}}",
		Target: VList_OptVStructDepth1_VEnumBcd{
			{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "VList_VStructDepth1_All{{F9: D}}",
		Source: VList_VStructDepth1_All{
			{
				F5: vdl.AnyType,
				F9: VEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VArray2_VEnumAbc]{}",
		Target:      map[VArray2_VEnumAbc]struct{}(nil),
		SourceLabel: "set[VArray2_VEnumAbc]{}",
		Source:      map[VArray2_VEnumAbc]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VArray2_VEnumAbc]{{C, C}}",
		Target: map[VArray2_VEnumAbc]struct{}{
			{
				VEnumAbcC,
				VEnumAbcC,
			}: struct{}{},
		},
		SourceLabel: "set[VArray2_VEnumAbc]{{C, C}}",
		Source: map[VArray2_VEnumAbc]struct{}{
			{
				VEnumAbcC,
				VEnumAbcC,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VStructDepth1_String]{}",
		Target:      map[VStructDepth1_String]struct{}(nil),
		SourceLabel: "set[VStructDepth1_String]{}",
		Source:      map[VStructDepth1_String]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructDepth1_String]{}",
		Target:      map[VStructDepth1_String]struct{}(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructDepth1_String]{}",
		Target:      map[VStructDepth1_String]struct{}(nil),
		SourceLabel: "set[VStructEmpty]{}",
		Source:      map[VStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VStructDepth1_String]{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[VStructDepth1_String]{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VStructDepth1_String]{{}}",
		Target: map[VStructDepth1_String]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[VStructDepth1_String]{{}}",
		Source: map[VStructDepth1_String]struct{}{
			{}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VStructDepth1_String]{{}}",
		Target: map[VStructDepth1_String]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[VStructEmpty]{{}}",
		Source: map[VStructEmpty]struct{}{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VUnionDepth1_VNamedError]{}",
		Target:      map[VUnionDepth1_VNamedError]struct{}(nil),
		SourceLabel: "set[VUnionDepth1_VNamedError]{}",
		Source:      map[VUnionDepth1_VNamedError]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VUnionDepth1_VNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[VUnionDepth1_VNamedError]struct{}{
			VUnionDepth1_VNamedErrorF11{VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth1_VNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[VUnionDepth1_VNamedError]struct{}{
			VUnionDepth1_VNamedErrorF11{VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VUnionDepth1_VNamedError]{{F11: {Id: \"Θ\"}}}",
		Target: map[VUnionDepth1_VNamedError]struct{}{
			VUnionDepth1_VNamedErrorF11{VNamedError{
				Id: "Θ",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth1_VNamedError]{{F11: {Id: \"Θ\"}}}",
		Source: map[VUnionDepth1_VNamedError]struct{}{
			VUnionDepth1_VNamedErrorF11{VNamedError{
				Id: "Θ",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VArray1_VStructEmpty{}",
		Target:      VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "VSet_VArray1_VStructEmpty{}",
		Source:      VSet_VArray1_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VArray1_VStructEmpty{{}}",
		Target: VSet_VArray1_VStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "VSet_VArray1_VStructEmpty{{}}",
		Source: VSet_VArray1_VStructEmpty{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth1_VFloat64{}",
		Target:      VSet_VStructDepth1_VFloat64(nil),
		SourceLabel: "VSet_VStructDepth1_VFloat64{}",
		Source:      VSet_VStructDepth1_VFloat64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth1_VFloat64{}",
		Target:      VSet_VStructDepth1_VFloat64(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth1_VFloat64{}",
		Target:      VSet_VStructDepth1_VFloat64(nil),
		SourceLabel: "set[VStructEmpty]{}",
		Source:      map[VStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VStructDepth1_VFloat64{{F30: 1.5}}",
		Target: VSet_VStructDepth1_VFloat64{
			{
				F30: 1.5,
			}: struct{}{},
		},
		SourceLabel: "VSet_VStructDepth1_VFloat64{{F30: 1.5}}",
		Source: VSet_VStructDepth1_VFloat64{
			{
				F30: 1.5,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VStructDepth1_VFloat64{{F30: 2.0949088961925095e+08}}",
		Target: VSet_VStructDepth1_VFloat64{
			{
				F30: 2.0949088961925095e+08,
			}: struct{}{},
		},
		SourceLabel: "VSet_VStructDepth1_VFloat64{{F30: 2.0949088961925095e+08}}",
		Source: VSet_VStructDepth1_VFloat64{
			{
				F30: 2.0949088961925095e+08,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VUnionDepth1_VInt8{}",
		Target:      VSet_VUnionDepth1_VInt8(nil),
		SourceLabel: "VSet_VUnionDepth1_VInt8{}",
		Source:      VSet_VUnionDepth1_VInt8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VUnionDepth1_VInt8{{F20: -123}}",
		Target: VSet_VUnionDepth1_VInt8{
			VUnionDepth1_VInt8F20{-123}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth1_VInt8{{F20: -123}}",
		Source: VSet_VUnionDepth1_VInt8{
			VUnionDepth1_VInt8F20{-123}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VUnionDepth1_VInt8{{F20: -27}}",
		Target: VSet_VUnionDepth1_VInt8{
			VUnionDepth1_VInt8F20{-27}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth1_VInt8{{F20: -27}}",
		Source: VSet_VUnionDepth1_VInt8{
			VUnionDepth1_VInt8F20{-27}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VArray3_Int64]VArray3_Int64{}",
		Target:      map[VArray3_Int64]VArray3_Int64(nil),
		SourceLabel: "map[VArray3_Int64]VArray3_Int64{}",
		Source:      map[VArray3_Int64]VArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VArray3_Int64]VArray3_Int64{{-123, -123, -123}: {-123, -123, -123}}",
		Target: map[VArray3_Int64]VArray3_Int64{
			{
				-123,
				-123,
				-123,
			}: {
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "map[VArray3_Int64]VArray3_Int64{{-123, -123, -123}: {-123, -123, -123}}",
		Source: map[VArray3_Int64]VArray3_Int64{
			{
				-123,
				-123,
				-123,
			}: {
				-123,
				-123,
				-123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VArray3_Int64]VArray3_Int64{{-2817536592255687332, -3760268823187002032, 0}: {-1274226269277847115, -2864778330065701217, -2074342664734613809}, {376487109512249769, -1255715141003519065, 3264254720924146845}: {-3421212617289252240, -783571659988020873, 0}, {420371608891038131, -2429316099890771879, 843605660501152610}: {}}",
		Target: map[VArray3_Int64]VArray3_Int64{
			{
				-2817536592255687332,
				-3760268823187002032,
				0,
			}: {
				-1274226269277847115,
				-2864778330065701217,
				-2074342664734613809,
			},
			{
				376487109512249769,
				-1255715141003519065,
				3264254720924146845,
			}: {
				-3421212617289252240,
				-783571659988020873,
				0,
			},
			{
				420371608891038131,
				-2429316099890771879,
				843605660501152610,
			}: {},
		},
		SourceLabel: "map[VArray3_Int64]VArray3_Int64{{-2817536592255687332, -3760268823187002032, 0}: {-1274226269277847115, -2864778330065701217, -2074342664734613809}, {376487109512249769, -1255715141003519065, 3264254720924146845}: {-3421212617289252240, -783571659988020873, 0}, {420371608891038131, -2429316099890771879, 843605660501152610}: {}}",
		Source: map[VArray3_Int64]VArray3_Int64{
			{
				-2817536592255687332,
				-3760268823187002032,
				0,
			}: {
				-1274226269277847115,
				-2864778330065701217,
				-2074342664734613809,
			},
			{
				376487109512249769,
				-1255715141003519065,
				3264254720924146845,
			}: {
				-3421212617289252240,
				-783571659988020873,
				0,
			},
			{
				420371608891038131,
				-2429316099890771879,
				843605660501152610,
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VStructDepth1_String]VStructDepth1_String{}",
		Target:      map[VStructDepth1_String]VStructDepth1_String(nil),
		SourceLabel: "map[VStructDepth1_String]VStructDepth1_String{}",
		Source:      map[VStructDepth1_String]VStructDepth1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructDepth1_String]VStructDepth1_String{}",
		Target:      map[VStructDepth1_String]VStructDepth1_String(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructDepth1_String]VStructDepth1_String{}",
		Target:      map[VStructDepth1_String]VStructDepth1_String(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VStructDepth1_String]VStructDepth1_String{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[VStructDepth1_String]VStructDepth1_String{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[VStructDepth1_String]VStructDepth1_String{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[VStructDepth1_String]VStructDepth1_String{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VStructDepth1_String]VStructDepth1_String{{}: {F3: \"世\"}, {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"bcdeΔΘΠΣ\"}}",
		Target: map[VStructDepth1_String]VStructDepth1_String{
			{}: {
				F3: "世",
			},
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "bcdeΔΘΠΣ",
			},
		},
		SourceLabel: "map[VStructDepth1_String]VStructDepth1_String{{}: {F3: \"世\"}, {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"bcdeΔΘΠΣ\"}}",
		Source: map[VStructDepth1_String]VStructDepth1_String{
			{}: {
				F3: "世",
			},
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "bcdeΔΘΠΣ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{}",
		Target:      map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
		SourceLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{}",
		Source:      map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}",
		Target: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
			VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}",
		Source: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
			VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 2.2726029698107373e+07}: {F29: 0}}",
		Target: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
			VUnionDepth1_Float64F29{2.2726029698107373e+07}: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 2.2726029698107373e+07}: {F29: 0}}",
		Source: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
			VUnionDepth1_Float64F29{2.2726029698107373e+07}: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "VMap_VArray3_VBool_VArray3_VBool{}",
		Source:      VMap_VArray3_VBool_VArray3_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VArray3_VBool_VArray3_VBool{{true, true, true}: {true, true, true}}",
		Target: VMap_VArray3_VBool_VArray3_VBool{
			{
				true,
				true,
				true,
			}: {
				true,
				true,
				true,
			},
		},
		SourceLabel: "VMap_VArray3_VBool_VArray3_VBool{{true, true, true}: {true, true, true}}",
		Source: VMap_VArray3_VBool_VArray3_VBool{
			{
				true,
				true,
				true,
			}: {
				true,
				true,
				true,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{}",
		Target:      VMap_VStructDepth1_VBool_VStructDepth1_VBool(nil),
		SourceLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{}",
		Source:      VMap_VStructDepth1_VBool_VStructDepth1_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{}",
		Target:      VMap_VStructDepth1_VBool_VStructDepth1_VBool(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{}",
		Target:      VMap_VStructDepth1_VBool_VStructDepth1_VBool(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{{F2: true}: {F2: true}}",
		Target: VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		},
		SourceLabel: "VMap_VStructDepth1_VBool_VStructDepth1_VBool{{F2: true}: {F2: true}}",
		Source: VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{}",
		Target:      VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64(nil),
		SourceLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{}",
		Source:      VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{{F18: 123}: {F18: 123}}",
		Target: VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{
			VUnionDepth1_VUint64F18{123}: VUnionDepth1_VUint64F18{123},
		},
		SourceLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{{F18: 123}: {F18: 123}}",
		Source: VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{
			VUnionDepth1_VUint64F18{123}: VUnionDepth1_VUint64F18{123},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{{F18: 5853028216567780601}: {F18: 0}}",
		Target: VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{
			VUnionDepth1_VUint64F18{5853028216567780601}: VUnionDepth1_VUint64F18{},
		},
		SourceLabel: "VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{{F18: 5853028216567780601}: {F18: 0}}",
		Source: VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64{
			VUnionDepth1_VUint64F18{5853028216567780601}: VUnionDepth1_VUint64F18{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_All{}",
		Target: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_All{}",
		Target: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "VStructDepth2_VArray1_Uint32{}",
		Source:      VStructDepth2_VArray1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_All{}",
		Target: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}",
		Target: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
		SourceLabel: "VStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_All{F2: {6627, -15355, 5386}, F3: {VUnionDepth1_VFloat64{F30: -3.646945524972634e+09}, VMap_VArray3_VBool_VArray3_VBool{{true, false, false}: {}}, map[VStructDepth1_String]VStructDepth1_String{{}: {F3: \"ΔΘΠΣΦ王普澤世界\"}, {F3: \"bcdeΔΘΠΣΦ王普澤世界\"}: {}, {F3: \"ΘΠΣΦ王普澤\"}: {F3: \"cdeΔΘ\"}}}, F4: {0}, F5: {B, C}, F6: {156: 243}, F7: {0: 4858678, 1853971719: 1808420086, 4237517540: 0}, F8: {F0: VUint32(1459593600), F1: true, F2: true, F4: \"abcdeΔΘ\", F5: typeobject(VInt8), F6: 233, F7: 162, F8: B, F11: {Id: \"deΔΘ\"}, F12: {RetryCode: RetryBackoff}, F13: 54270, F14: 16439, F16: 4227159943, F17: 14077747331074309923, F18: 11530054109741843599, F19: -10, F20: -14, F21: 14926, F22: 4651, F23: 919036762, F24: -362551624, F25: 3038162464226959132, F26: 3632867008264550680, F27: -2.2463437e+09, F28: 2.1413284e+09, F29: 3.923005143643025e+09, F30: 2.34705436525567e+09, F31: {}}, F9: {F1: true}, F10: {F32: {}}, F11: {F29: -4.920704184273371e+07}, F12: {}}",
		Target: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				6627,
				-15355,
				5386,
			},
			F3: VList_Any{
				VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{-3.646945524972634e+09}),
				VMap_VArray3_VBool_VArray3_VBool{
					{
						true,
						false,
						false,
					}: {},
				},
				map[VStructDepth1_String]VStructDepth1_String{
					{}: {
						F3: "ΔΘΠΣΦ王普澤世界",
					},
					{
						F3: "bcdeΔΘΠΣΦ王普澤世界",
					}: {},
					{
						F3: "ΘΠΣΦ王普澤",
					}: {
						F3: "cdeΔΘ",
					},
				},
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
				VEnumBcdC: struct{}{},
			},
			F6: map[byte]byte{
				156: 243,
			},
			F7: map[uint32]uint32{
				0:          4858678,
				1853971719: 1808420086,
				4237517540: 0,
			},
			F8: VStructDepth1_All{
				F0: VUint32(1459593600),
				F1: true,
				F2: true,
				F4: "abcdeΔΘ",
				F5: __VDLType_int8_12,
				F6: 233,
				F7: 162,
				F8: VEnumAbcB,
				F11: VNamedError{
					Id: "deΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
				F13: 54270,
				F14: 16439,
				F16: 4227159943,
				F17: 14077747331074309923,
				F18: 11530054109741843599,
				F19: -10,
				F20: -14,
				F21: 14926,
				F22: 4651,
				F23: 919036762,
				F24: -362551624,
				F25: 3038162464226959132,
				F26: 3632867008264550680,
				F27: -2.2463437e+09,
				F28: 2.1413284e+09,
				F29: 3.923005143643025e+09,
				F30: 2.34705436525567e+09,
				F31: &VStructEmpty{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{}},
			F11: VUnionDepth1_Float64F29{-4.920704184273371e+07},
			F12: &VStructDepth1_VEnumBcd{},
		},
		SourceLabel: "VStructDepth2_All{F2: {6627, -15355, 5386}, F3: {VUnionDepth1_VFloat64{F30: -3.646945524972634e+09}, VMap_VArray3_VBool_VArray3_VBool{{true, false, false}: {}}, map[VStructDepth1_String]VStructDepth1_String{{}: {F3: \"ΔΘΠΣΦ王普澤世界\"}, {F3: \"bcdeΔΘΠΣΦ王普澤世界\"}: {}, {F3: \"ΘΠΣΦ王普澤\"}: {F3: \"cdeΔΘ\"}}}, F4: {0}, F5: {B, C}, F6: {156: 243}, F7: {0: 4858678, 1853971719: 1808420086, 4237517540: 0}, F8: {F0: VUint32(1459593600), F1: true, F2: true, F4: \"abcdeΔΘ\", F5: typeobject(VInt8), F6: 233, F7: 162, F8: B, F11: {Id: \"deΔΘ\"}, F12: {RetryCode: RetryBackoff}, F13: 54270, F14: 16439, F16: 4227159943, F17: 14077747331074309923, F18: 11530054109741843599, F19: -10, F20: -14, F21: 14926, F22: 4651, F23: 919036762, F24: -362551624, F25: 3038162464226959132, F26: 3632867008264550680, F27: -2.2463437e+09, F28: 2.1413284e+09, F29: 3.923005143643025e+09, F30: 2.34705436525567e+09, F31: {}}, F9: {F1: true}, F10: {F32: {}}, F11: {F29: -4.920704184273371e+07}, F12: {}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				6627,
				-15355,
				5386,
			},
			F3: VList_Any{
				VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{-3.646945524972634e+09}),
				VMap_VArray3_VBool_VArray3_VBool{
					{
						true,
						false,
						false,
					}: {},
				},
				map[VStructDepth1_String]VStructDepth1_String{
					{}: {
						F3: "ΔΘΠΣΦ王普澤世界",
					},
					{
						F3: "bcdeΔΘΠΣΦ王普澤世界",
					}: {},
					{
						F3: "ΘΠΣΦ王普澤",
					}: {
						F3: "cdeΔΘ",
					},
				},
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
				VEnumBcdC: struct{}{},
			},
			F6: map[byte]byte{
				156: 243,
			},
			F7: map[uint32]uint32{
				0:          4858678,
				1853971719: 1808420086,
				4237517540: 0,
			},
			F8: VStructDepth1_All{
				F0: VUint32(1459593600),
				F1: true,
				F2: true,
				F4: "abcdeΔΘ",
				F5: __VDLType_int8_12,
				F6: 233,
				F7: 162,
				F8: VEnumAbcB,
				F11: VNamedError{
					Id: "deΔΘ",
				},
				F12: verror.FromWire(&vdl.WireError{
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
				F13: 54270,
				F14: 16439,
				F16: 4227159943,
				F17: 14077747331074309923,
				F18: 11530054109741843599,
				F19: -10,
				F20: -14,
				F21: 14926,
				F22: 4651,
				F23: 919036762,
				F24: -362551624,
				F25: 3038162464226959132,
				F26: 3632867008264550680,
				F27: -2.2463437e+09,
				F28: 2.1413284e+09,
				F29: 3.923005143643025e+09,
				F30: 2.34705436525567e+09,
				F31: &VStructEmpty{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{}},
			F11: VUnionDepth1_Float64F29{-4.920704184273371e+07},
			F12: &VStructDepth1_VEnumBcd{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "VStructDepth2_VArray2_TypeObject{}",
		Source: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "VStructDepth1_All{F0: VArray2_TypeObject{}}",
		Source: VStructDepth1_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray2_TypeObject{}}",
		Source: VStructDepth1_Any{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
		SourceLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Source: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
		SourceLabel: "VStructDepth1_All{F0: VArray2_TypeObject{typeobject(int64), typeobject(int64)}}",
		Source: VStructDepth1_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				__VDLType_list_38,
				__VDLType_set_61,
			},
		},
		SourceLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Source: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				__VDLType_list_38,
				__VDLType_set_61,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				__VDLType_list_38,
				__VDLType_set_61,
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray2_TypeObject{typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Source: VStructDepth1_Any{
			F0: VArray2_TypeObject{
				__VDLType_list_38,
				__VDLType_set_61,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray1_Uint32{}",
		Target:      VStructDepth2_VArray1_Uint32{},
		SourceLabel: "VStructDepth2_VArray1_Uint32{}",
		Source:      VStructDepth2_VArray1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray1_Uint32{}",
		Target:      VStructDepth2_VArray1_Uint32{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray1_Uint32{}",
		Target:      VStructDepth2_VArray1_Uint32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VArray1_Uint32{F1: {123}}",
		Target: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				123,
			},
		},
		SourceLabel: "VStructDepth2_VArray1_Uint32{F1: {123}}",
		Source: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VArray1_Uint32{F1: {123}}",
		Target: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				123,
			},
		},
		SourceLabel: "VStructDepth2_All{F1: {123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				123,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VArray1_Uint32{F1: {3919152566}}",
		Target: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				3919152566,
			},
		},
		SourceLabel: "VStructDepth2_VArray1_Uint32{F1: {3919152566}}",
		Source: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				3919152566,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VArray1_Uint32{F1: {3919152566}}",
		Target: VStructDepth2_VArray1_Uint32{
			F1: VArray1_Uint32{
				3919152566,
			},
		},
		SourceLabel: "VStructDepth2_All{F1: {3919152566}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				3919152566,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_List_Int16{}",
		Target:      VStructDepth2_List_Int16{},
		SourceLabel: "VStructDepth2_List_Int16{}",
		Source:      VStructDepth2_List_Int16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_List_Int16{}",
		Target:      VStructDepth2_List_Int16{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_List_Int16{}",
		Target:      VStructDepth2_List_Int16{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_List_Int16{F2: {-123}}",
		Target: VStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
		SourceLabel: "VStructDepth2_List_Int16{F2: {-123}}",
		Source: VStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_List_Int16{F2: {-123}}",
		Target: VStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
		SourceLabel: "VStructDepth2_All{F2: {-123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				-123,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_List_Int16{F2: {-11258}}",
		Target: VStructDepth2_List_Int16{
			F2: []int16{
				-11258,
			},
		},
		SourceLabel: "VStructDepth2_List_Int16{F2: {-11258}}",
		Source: VStructDepth2_List_Int16{
			F2: []int16{
				-11258,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_List_Int16{F2: {-11258}}",
		Target: VStructDepth2_List_Int16{
			F2: []int16{
				-11258,
			},
		},
		SourceLabel: "VStructDepth2_All{F2: {-11258}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				-11258,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VList_Any{}",
		Target:      VStructDepth2_VList_Any{},
		SourceLabel: "VStructDepth2_VList_Any{}",
		Source:      VStructDepth2_VList_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VList_Any{}",
		Target:      VStructDepth2_VList_Any{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VList_Any{}",
		Target:      VStructDepth2_VList_Any{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VList_Any{F3: {int64(-123)}}",
		Target: VStructDepth2_VList_Any{
			F3: VList_Any{
				int64(-123),
			},
		},
		SourceLabel: "VStructDepth2_VList_Any{F3: {int64(-123)}}",
		Source: VStructDepth2_VList_Any{
			F3: VList_Any{
				int64(-123),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VList_Any{F3: {int64(-123)}}",
		Target: VStructDepth2_VList_Any{
			F3: VList_Any{
				int64(-123),
			},
		},
		SourceLabel: "VStructDepth2_All{F3: {int64(-123)}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F3: VList_Any{
				int64(-123),
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VList_Any{F3: {nil}}",
		Target: VStructDepth2_VList_Any{
			F3: VList_Any{
				nil,
			},
		},
		SourceLabel: "VStructDepth2_VList_Any{F3: {nil}}",
		Source: VStructDepth2_VList_Any{
			F3: VList_Any{
				nil,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VList_Any{F3: {nil}}",
		Target: VStructDepth2_VList_Any{
			F3: VList_Any{
				nil,
			},
		},
		SourceLabel: "VStructDepth2_All{F3: {nil}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F3: VList_Any{
				nil,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Set_Float64{}",
		Target:      VStructDepth2_Set_Float64{},
		SourceLabel: "VStructDepth2_Set_Float64{}",
		Source:      VStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Set_Float64{}",
		Target:      VStructDepth2_Set_Float64{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Set_Float64{}",
		Target:      VStructDepth2_Set_Float64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_Set_Float64{F4: {1.5}}",
		Target: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_Set_Float64{F4: {1.5}}",
		Source: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_Set_Float64{F4: {1.5}}",
		Target: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "?VStructDepth2_Set_Float64{F4: {1.5}}",
		Source: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Set_Float64{F4: {7.980477583081048e+08}}",
		Target: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				7.980477583081048e+08: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_Set_Float64{F4: {7.980477583081048e+08}}",
		Source: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				7.980477583081048e+08: struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Set_Float64{F4: {7.980477583081048e+08}}",
		Target: VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				7.980477583081048e+08: struct{}{},
			},
		},
		SourceLabel: "?VStructDepth2_Set_Float64{F4: {7.980477583081048e+08}}",
		Source: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				7.980477583081048e+08: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VSet_VEnumBcd{}",
		Target:      VStructDepth2_VSet_VEnumBcd{},
		SourceLabel: "VStructDepth2_VSet_VEnumBcd{}",
		Source:      VStructDepth2_VSet_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VSet_VEnumBcd{}",
		Target:      VStructDepth2_VSet_VEnumBcd{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VSet_VEnumBcd{}",
		Target:      VStructDepth2_VSet_VEnumBcd{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VSet_VEnumBcd{F5: {D}}",
		Target: VStructDepth2_VSet_VEnumBcd{
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_VSet_VEnumBcd{F5: {D}}",
		Source: VStructDepth2_VSet_VEnumBcd{
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VSet_VEnumBcd{F5: {D}}",
		Target: VStructDepth2_VSet_VEnumBcd{
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_All{F5: {D}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{}",
		Target:      VStructDepth2_Map_Byte_Byte{},
		SourceLabel: "VStructDepth2_Map_Byte_Byte{}",
		Source:      VStructDepth2_Map_Byte_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{}",
		Target:      VStructDepth2_Map_Byte_Byte{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{}",
		Target:      VStructDepth2_Map_Byte_Byte{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Target: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
		SourceLabel: "VStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Source: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Target: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
		SourceLabel: "VStructDepth2_All{F6: {123: 123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F6: map[byte]byte{
				123: 123,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{F6: {94: 180}}",
		Target: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				94: 180,
			},
		},
		SourceLabel: "VStructDepth2_Map_Byte_Byte{F6: {94: 180}}",
		Source: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				94: 180,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Map_Byte_Byte{F6: {94: 180}}",
		Target: VStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				94: 180,
			},
		},
		SourceLabel: "VStructDepth2_All{F6: {94: 180}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F6: map[byte]byte{
				94: 180,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{}",
		Target:      VStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "VStructDepth2_Map_Uint32_Uint32{}",
		Source:      VStructDepth2_Map_Uint32_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{}",
		Target:      VStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{}",
		Target:      VStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Target: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
		SourceLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Source: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Target: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
		SourceLabel: "VStructDepth2_All{F7: {123: 123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {484787859: 607997844}}",
		Target: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				484787859: 607997844,
			},
		},
		SourceLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {484787859: 607997844}}",
		Source: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				484787859: 607997844,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_Map_Uint32_Uint32{F7: {484787859: 607997844}}",
		Target: VStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				484787859: 607997844,
			},
		},
		SourceLabel: "VStructDepth2_All{F7: {484787859: 607997844}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F7: map[uint32]uint32{
				484787859: 607997844,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_All{}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "VStructDepth2_VStructDepth1_All{}",
		Source: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_All{}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_All{}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "VStructDepth2_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: VUnionDepth1_VNamedError{F11: {Msg: \"deΔΘΠ\"}}, F1: true, F3: \"王普\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(VFloat64), F6: 75, F7: 182, F9: C, F11: {Id: \"普澤世界\", Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {}, F15: 249425737, F17: 10629523721000836621, F18: 7486156333227476036, F20: 49, F21: -9489, F23: 525779420, F25: -2402888122737591262, F26: 1399478731392238278, F27: 1.263582e+09, F28: -3.056747e+08, F29: -3.3608037829863775e+08, F30: -3.583770142849399e+09, F31: {}}}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "deΔΘΠ",
				}}),
				F1: true,
				F3: "王普",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: __VDLType_float64_17,
				F6: 75,
				F7: 182,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "普澤世界",
					Msg: "bcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{}),
				F15: 249425737,
				F17: 10629523721000836621,
				F18: 7486156333227476036,
				F20: 49,
				F21: -9489,
				F23: 525779420,
				F25: -2402888122737591262,
				F26: 1399478731392238278,
				F27: 1.263582e+09,
				F28: -3.056747e+08,
				F29: -3.3608037829863775e+08,
				F30: -3.583770142849399e+09,
				F31: &VStructEmpty{},
			},
		},
		SourceLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: VUnionDepth1_VNamedError{F11: {Msg: \"deΔΘΠ\"}}, F1: true, F3: \"王普\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(VFloat64), F6: 75, F7: 182, F9: C, F11: {Id: \"普澤世界\", Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {}, F15: 249425737, F17: 10629523721000836621, F18: 7486156333227476036, F20: 49, F21: -9489, F23: 525779420, F25: -2402888122737591262, F26: 1399478731392238278, F27: 1.263582e+09, F28: -3.056747e+08, F29: -3.3608037829863775e+08, F30: -3.583770142849399e+09, F31: {}}}",
		Source: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "deΔΘΠ",
				}}),
				F1: true,
				F3: "王普",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: __VDLType_float64_17,
				F6: 75,
				F7: 182,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "普澤世界",
					Msg: "bcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{}),
				F15: 249425737,
				F17: 10629523721000836621,
				F18: 7486156333227476036,
				F20: 49,
				F21: -9489,
				F23: 525779420,
				F25: -2402888122737591262,
				F26: 1399478731392238278,
				F27: 1.263582e+09,
				F28: -3.056747e+08,
				F29: -3.3608037829863775e+08,
				F30: -3.583770142849399e+09,
				F31: &VStructEmpty{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VStructDepth1_All{F8: {F0: VUnionDepth1_VNamedError{F11: {Msg: \"deΔΘΠ\"}}, F1: true, F3: \"王普\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(VFloat64), F6: 75, F7: 182, F9: C, F11: {Id: \"普澤世界\", Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {}, F15: 249425737, F17: 10629523721000836621, F18: 7486156333227476036, F20: 49, F21: -9489, F23: 525779420, F25: -2402888122737591262, F26: 1399478731392238278, F27: 1.263582e+09, F28: -3.056747e+08, F29: -3.3608037829863775e+08, F30: -3.583770142849399e+09, F31: {}}}",
		Target: VStructDepth2_VStructDepth1_All{
			F8: VStructDepth1_All{
				F0: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "deΔΘΠ",
				}}),
				F1: true,
				F3: "王普",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: __VDLType_float64_17,
				F6: 75,
				F7: 182,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "普澤世界",
					Msg: "bcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{}),
				F15: 249425737,
				F17: 10629523721000836621,
				F18: 7486156333227476036,
				F20: 49,
				F21: -9489,
				F23: 525779420,
				F25: -2402888122737591262,
				F26: 1399478731392238278,
				F27: 1.263582e+09,
				F28: -3.056747e+08,
				F29: -3.3608037829863775e+08,
				F30: -3.583770142849399e+09,
				F31: &VStructEmpty{},
			},
		},
		SourceLabel: "VStructDepth2_All{F8: {F0: VUnionDepth1_VNamedError{F11: {Msg: \"deΔΘΠ\"}}, F1: true, F3: \"王普\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(VFloat64), F6: 75, F7: 182, F9: C, F11: {Id: \"普澤世界\", Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {}, F15: 249425737, F17: 10629523721000836621, F18: 7486156333227476036, F20: 49, F21: -9489, F23: 525779420, F25: -2402888122737591262, F26: 1399478731392238278, F27: 1.263582e+09, F28: -3.056747e+08, F29: -3.3608037829863775e+08, F30: -3.583770142849399e+09, F31: {}}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F0: VUnionDepth1_VNamedError(VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "deΔΘΠ",
				}}),
				F1: true,
				F3: "王普",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: __VDLType_float64_17,
				F6: 75,
				F7: 182,
				F9: VEnumBcdC,
				F11: VNamedError{
					Id:  "普澤世界",
					Msg: "bcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{}),
				F15: 249425737,
				F17: 10629523721000836621,
				F18: 7486156333227476036,
				F20: 49,
				F21: -9489,
				F23: 525779420,
				F25: -2402888122737591262,
				F26: 1399478731392238278,
				F27: 1.263582e+09,
				F28: -3.056747e+08,
				F29: -3.3608037829863775e+08,
				F30: -3.583770142849399e+09,
				F31: &VStructEmpty{},
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_Bool{}",
		Target:      VStructDepth2_VStructDepth1_Bool{},
		SourceLabel: "VStructDepth2_VStructDepth1_Bool{}",
		Source:      VStructDepth2_VStructDepth1_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_Bool{}",
		Target:      VStructDepth2_VStructDepth1_Bool{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VStructDepth1_Bool{}",
		Target:      VStructDepth2_VStructDepth1_Bool{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VStructDepth1_Bool{F9: {F1: true}}",
		Target: VStructDepth2_VStructDepth1_Bool{
			F9: VStructDepth1_Bool{
				F1: true,
			},
		},
		SourceLabel: "VStructDepth2_VStructDepth1_Bool{F9: {F1: true}}",
		Source: VStructDepth2_VStructDepth1_Bool{
			F9: VStructDepth1_Bool{
				F1: true,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VStructDepth1_Bool{F9: {F1: true}}",
		Target: VStructDepth2_VStructDepth1_Bool{
			F9: VStructDepth1_Bool{
				F1: true,
			},
		},
		SourceLabel: "VStructDepth2_All{F9: {F1: true}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF0{},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_All{}",
		Source: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF0{},
		},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF0{},
		},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "VStructDepth2_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{F10: {F23: -1046473097}}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF23{-1046473097},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_All{F10: {F23: -1046473097}}",
		Source: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF23{-1046473097},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VUnionDepth1_All{F10: {F23: -1046473097}}",
		Target: VStructDepth2_VUnionDepth1_All{
			F10: VUnionDepth1_AllF23{-1046473097},
		},
		SourceLabel: "VStructDepth2_All{F10: {F23: -1046473097}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF23{-1046473097},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_Float64{}",
		Source: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{},
		},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: 1.5}}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: 1.5}}",
		Source: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{1.5},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: 1.5}}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "VStructDepth2_All{F11: {F29: 1.5}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{1.5},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: -1.5306373726502123e+08}}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{-1.5306373726502123e+08},
		},
		SourceLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: -1.5306373726502123e+08}}",
		Source: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{-1.5306373726502123e+08},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VUnionDepth1_Float64{F11: {F29: -1.5306373726502123e+08}}",
		Target: VStructDepth2_VUnionDepth1_Float64{
			F11: VUnionDepth1_Float64F29{-1.5306373726502123e+08},
		},
		SourceLabel: "VStructDepth2_All{F11: {F29: -1.5306373726502123e+08}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{-1.5306373726502123e+08},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{}",
		Target:      VStructDepth2_OptVStructDepth1_VEnumBcd{},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{}",
		Source:      VStructDepth2_OptVStructDepth1_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{}",
		Target:      VStructDepth2_OptVStructDepth1_VEnumBcd{},
		SourceLabel: "VStructDepth2_All{}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{}",
		Target:      VStructDepth2_OptVStructDepth1_VEnumBcd{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Target: VStructDepth2_OptVStructDepth1_VEnumBcd{
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Source: VStructDepth2_OptVStructDepth1_VEnumBcd{
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Target: VStructDepth2_OptVStructDepth1_VEnumBcd{
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
		},
		SourceLabel: "VStructDepth2_All{F12: {F9: D}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{}",
		Target:      VStructDepth2_OptVStructDepth1_VUint16{},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VUint16{}",
		Source:      VStructDepth2_OptVStructDepth1_VUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{}",
		Target:      VStructDepth2_OptVStructDepth1_VUint16{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{}",
		Target:      VStructDepth2_OptVStructDepth1_VUint16{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 123}}",
		Target: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 123}}",
		Source: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 123}}",
		Target: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
		SourceLabel: "VStructDepth2_All{F13: {F14: 123}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 51068}}",
		Target: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 51068,
			},
		},
		SourceLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 51068}}",
		Source: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 51068,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_OptVStructDepth1_VUint16{F13: {F14: 51068}}",
		Target: VStructDepth2_OptVStructDepth1_VUint16{
			F13: &VStructDepth1_VUint16{
				F14: 51068,
			},
		},
		SourceLabel: "VStructDepth2_All{F13: {F14: 51068}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
			F13: &VStructDepth1_VUint16{
				F14: 51068,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_All{F0: {}}",
		Target:      VUnionDepth2_All(VUnionDepth2_AllF0{}),
		SourceLabel: "VUnionDepth2_All{F0: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_All{F0: {}}",
		Target:      VUnionDepth2_All(VUnionDepth2_AllF0{}),
		SourceLabel: "VUnionDepth2_VArray1_String{F0: {}}",
		Source:      VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_All{F0: {}}",
		Target:      VUnionDepth2_All(VUnionDepth2_AllF0{}),
		SourceLabel: "VUnionDepth1_Any{F0: VArray1_String{}}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VArray1_String{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_All{F13: {F28: 1.5}}",
		Target: VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "VUnionDepth2_All{F13: {F28: 1.5}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_All{F13: {F28: 1.5}}",
		Target: VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {F28: 1.5}}",
		Source: VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_All{F2: \"N\\x00\"}",
		Target:      VUnionDepth2_All(VUnionDepth2_AllF2{VList_VByte("N\x00")}),
		SourceLabel: "VUnionDepth2_All{F2: \"N\\x00\"}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF2{VList_VByte("N\x00")}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_All{F2: \"N\\x00\"}",
		Target:      VUnionDepth2_All(VUnionDepth2_AllF2{VList_VByte("N\x00")}),
		SourceLabel: "VUnionDepth2_VList_VByte{F2: \"N\\x00\"}",
		Source:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("N\x00")}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {}}",
		Target:      VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{}),
		SourceLabel: "VUnionDepth2_VArray1_String{F0: {}}",
		Source:      VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {}}",
		Target:      VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{}),
		SourceLabel: "VUnionDepth1_Any{F0: VArray1_String{}}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VArray1_String{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {}}",
		Target:      VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{}),
		SourceLabel: "VUnionDepth1_All{F0: VArray1_String{}}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{VArray1_String{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth2_VArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "VUnionDepth1_Any{F0: VArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: VUnionDepth1_Any(VUnionDepth1_AnyF0{VArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {\"cdeΔΘΠΣΦ王普澤世\"}}",
		Target: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"cdeΔΘΠΣΦ王普澤世",
		}}),
		SourceLabel: "VUnionDepth2_VArray1_String{F0: {\"cdeΔΘΠΣΦ王普澤世\"}}",
		Source: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"cdeΔΘΠΣΦ王普澤世",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VArray1_String{F0: {\"cdeΔΘΠΣΦ王普澤世\"}}",
		Target: VUnionDepth2_VArray1_String(VUnionDepth2_VArray1_StringF0{VArray1_String{
			"cdeΔΘΠΣΦ王普澤世",
		}}),
		SourceLabel: "VUnionDepth2_All{F0: {\"cdeΔΘΠΣΦ王普澤世\"}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF0{VArray1_String{
			"cdeΔΘΠΣΦ王普澤世",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"\\x00\\x00\"}",
		Target:      VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{}),
		SourceLabel: "VUnionDepth2_VArray2_VByte{F1: \"\\x00\\x00\"}",
		Source:      VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"\\x00\\x00\"}",
		Target:      VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{}),
		SourceLabel: "VUnionDepth2_All{F1: \"\\x00\\x00\"}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"{{\"}",
		Target: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			123,
			123,
		}}),
		SourceLabel: "VUnionDepth2_VArray2_VByte{F1: \"{{\"}",
		Source: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			123,
			123,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"{{\"}",
		Target: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			123,
			123,
		}}),
		SourceLabel: "VUnionDepth2_All{F1: \"{{\"}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF1{VArray2_VByte{
			123,
			123,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"f\\x00\"}",
		Target: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			102,
			0,
		}}),
		SourceLabel: "VUnionDepth2_VArray2_VByte{F1: \"f\\x00\"}",
		Source: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			102,
			0,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VArray2_VByte{F1: \"f\\x00\"}",
		Target: VUnionDepth2_VArray2_VByte(VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
			102,
			0,
		}}),
		SourceLabel: "VUnionDepth2_All{F1: \"f\\x00\"}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF1{VArray2_VByte{
			102,
			0,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{}),
		SourceLabel: "VUnionDepth2_VList_VByte{F2: \"\"}",
		Source:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{}),
		SourceLabel: "VUnionDepth2_All{F2: \"\"}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"{\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("{")}),
		SourceLabel: "VUnionDepth2_VList_VByte{F2: \"{\"}",
		Source:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("{")}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"{\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("{")}),
		SourceLabel: "VUnionDepth2_All{F2: \"{\"}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF2{VList_VByte("{")}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"x\\x00\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("x\x00")}),
		SourceLabel: "VUnionDepth2_VList_VByte{F2: \"x\\x00\"}",
		Source:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("x\x00")}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VList_VByte{F2: \"x\\x00\"}",
		Target:      VUnionDepth2_VList_VByte(VUnionDepth2_VList_VByteF2{VList_VByte("x\x00")}),
		SourceLabel: "VUnionDepth2_All{F2: \"x\\x00\"}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF2{VList_VByte("x\x00")}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {}}",
		Target:      VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{}),
		SourceLabel: "VUnionDepth2_VList_OptVNamedError{F3: {}}",
		Source:      VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {}}",
		Target:      VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{}),
		SourceLabel: "VUnionDepth2_All{F3: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "VUnionDepth2_All{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF3{VList_OptVNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Msg: \"a\"}, {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣΦ王普澤\"}, {Id: \"Φ王普\", Msg: \"deΔΘ\"}}}",
		Target: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Msg: "a",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "cdeΔΘΠΣΦ王普澤",
			},
			{
				Id:  "Φ王普",
				Msg: "deΔΘ",
			},
		}}),
		SourceLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Msg: \"a\"}, {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣΦ王普澤\"}, {Id: \"Φ王普\", Msg: \"deΔΘ\"}}}",
		Source: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Msg: "a",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "cdeΔΘΠΣΦ王普澤",
			},
			{
				Id:  "Φ王普",
				Msg: "deΔΘ",
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VList_OptVNamedError{F3: {{Msg: \"a\"}, {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣΦ王普澤\"}, {Id: \"Φ王普\", Msg: \"deΔΘ\"}}}",
		Target: VUnionDepth2_VList_OptVNamedError(VUnionDepth2_VList_OptVNamedErrorF3{VList_OptVNamedError{
			{
				Msg: "a",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "cdeΔΘΠΣΦ王普澤",
			},
			{
				Id:  "Φ王普",
				Msg: "deΔΘ",
			},
		}}),
		SourceLabel: "VUnionDepth2_All{F3: {{Msg: \"a\"}, {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣΦ王普澤\"}, {Id: \"Φ王普\", Msg: \"deΔΘ\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF3{VList_OptVNamedError{
			{
				Msg: "a",
			},
			{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "cdeΔΘΠΣΦ王普澤",
			},
			{
				Id:  "Φ王普",
				Msg: "deΔΘ",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VSet_VBool{F4: {}}",
		Target:      VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{}),
		SourceLabel: "VUnionDepth2_VSet_VBool{F4: {}}",
		Source:      VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VSet_VBool{F4: {}}",
		Target:      VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{}),
		SourceLabel: "VUnionDepth2_All{F4: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF4{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VSet_VBool{F4: {true}}",
		Target: VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{VSet_VBool{
			true: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_VSet_VBool{F4: {true}}",
		Source: VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{VSet_VBool{
			true: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VSet_VBool{F4: {true}}",
		Target: VUnionDepth2_VSet_VBool(VUnionDepth2_VSet_VBoolF4{VSet_VBool{
			true: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_All{F4: {true}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF4{VSet_VBool{
			true: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {}}",
		Target:      VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{}),
		SourceLabel: "VUnionDepth2_VSet_VNamedError{F5: {}}",
		Source:      VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {}}",
		Target:      VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{}),
		SourceLabel: "VUnionDepth2_All{F5: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF5{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_All{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF5{VSet_VNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"ΘΠΣ\", Msg: \"ΠΣΦ王普澤\"}, {Id: \"Φ王\"}, {Id: \"王\", Msg: \"cdeΔΘ\"}}}",
		Target: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "ΘΠΣ",
				Msg: "ΠΣΦ王普澤",
			}: struct{}{},
			{
				Id: "Φ王",
			}: struct{}{},
			{
				Id:  "王",
				Msg: "cdeΔΘ",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"ΘΠΣ\", Msg: \"ΠΣΦ王普澤\"}, {Id: \"Φ王\"}, {Id: \"王\", Msg: \"cdeΔΘ\"}}}",
		Source: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "ΘΠΣ",
				Msg: "ΠΣΦ王普澤",
			}: struct{}{},
			{
				Id: "Φ王",
			}: struct{}{},
			{
				Id:  "王",
				Msg: "cdeΔΘ",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VSet_VNamedError{F5: {{Id: \"ΘΠΣ\", Msg: \"ΠΣΦ王普澤\"}, {Id: \"Φ王\"}, {Id: \"王\", Msg: \"cdeΔΘ\"}}}",
		Target: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
			{
				Id:  "ΘΠΣ",
				Msg: "ΠΣΦ王普澤",
			}: struct{}{},
			{
				Id: "Φ王",
			}: struct{}{},
			{
				Id:  "王",
				Msg: "cdeΔΘ",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth2_All{F5: {{Id: \"ΘΠΣ\", Msg: \"ΠΣΦ王普澤\"}, {Id: \"Φ王\"}, {Id: \"王\", Msg: \"cdeΔΘ\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF5{VSet_VNamedError{
			{
				Id:  "ΘΠΣ",
				Msg: "ΠΣΦ王普澤",
			}: struct{}{},
			{
				Id: "Φ王",
			}: struct{}{},
			{
				Id:  "王",
				Msg: "cdeΔΘ",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_Map_VBool_VBool{F6: {}}",
		Target:      VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{}),
		SourceLabel: "VUnionDepth2_Map_VBool_VBool{F6: {}}",
		Source:      VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_Map_VBool_VBool{F6: {}}",
		Target:      VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{}),
		SourceLabel: "VUnionDepth2_All{F6: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_Map_VBool_VBool{F6: {true: true}}",
		Target: VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{map[VBool]VBool{
			true: true,
		}}),
		SourceLabel: "VUnionDepth2_Map_VBool_VBool{F6: {true: true}}",
		Source: VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{map[VBool]VBool{
			true: true,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_Map_VBool_VBool{F6: {true: true}}",
		Target: VUnionDepth2_Map_VBool_VBool(VUnionDepth2_Map_VBool_VBoolF6{map[VBool]VBool{
			true: true,
		}}),
		SourceLabel: "VUnionDepth2_All{F6: {true: true}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF6{map[VBool]VBool{
			true: true,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {}}",
		Target:      VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{}),
		SourceLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {}}",
		Source:      VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {}}",
		Target:      VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{}),
		SourceLabel: "VUnionDepth2_All{F7: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF7{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {true: true}}",
		Target: VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{VMap_VBool_VBool{
			true: true,
		}}),
		SourceLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {true: true}}",
		Source: VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{VMap_VBool_VBool{
			true: true,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VMap_VBool_VBool{F7: {true: true}}",
		Target: VUnionDepth2_VMap_VBool_VBool(VUnionDepth2_VMap_VBool_VBoolF7{VMap_VBool_VBool{
			true: true,
		}}),
		SourceLabel: "VUnionDepth2_All{F7: {true: true}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF7{VMap_VBool_VBool{
			true: true,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "VUnionDepth2_VStructDepth1_All{F8: {}}",
		Source: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "VUnionDepth2_All{F8: {}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF8{VStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "VUnionDepth2_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF8{VStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: VEnumAbcC,
			F9: VEnumBcdD,
			F11: VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: VArray2_VEnumBcd{C, B}, F1: true, F3: \"eΔΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F5: typeobject(VSet_VUnionDepth2_VArray1_String), F7: 6, F8: C, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"deΔΘΠΣΦ\"}, F13: 23891, F15: 3966497812, F16: 1776609092, F17: 13618574075811312760, F18: 3727278410519680325, F19: 12, F20: -52, F21: 14009, F24: 494275561, F25: -1816504498055159389, F26: -3933236622138960557, F27: -1.6678742e+09, F28: -2.6545418e+09, F29: 1.6554808637707613e+09, F30: -3.9337784215193796e+08, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"b\"}}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: VArray2_VEnumBcd{
				VEnumBcdC,
				VEnumBcdB,
			},
			F1: true,
			F3: "eΔΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: __VDLType_set_231,
			F7: 6,
			F8: VEnumAbcC,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "cdeΔ",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "deΔΘΠΣΦ",
			}),
			F13: 23891,
			F15: 3966497812,
			F16: 1776609092,
			F17: 13618574075811312760,
			F18: 3727278410519680325,
			F19: 12,
			F20: -52,
			F21: 14009,
			F24: 494275561,
			F25: -1816504498055159389,
			F26: -3933236622138960557,
			F27: -1.6678742e+09,
			F28: -2.6545418e+09,
			F29: 1.6554808637707613e+09,
			F30: -3.9337784215193796e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "eΔΘΠΣΦ王",
				Msg: "b",
			},
		}}),
		SourceLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: VArray2_VEnumBcd{C, B}, F1: true, F3: \"eΔΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F5: typeobject(VSet_VUnionDepth2_VArray1_String), F7: 6, F8: C, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"deΔΘΠΣΦ\"}, F13: 23891, F15: 3966497812, F16: 1776609092, F17: 13618574075811312760, F18: 3727278410519680325, F19: 12, F20: -52, F21: 14009, F24: 494275561, F25: -1816504498055159389, F26: -3933236622138960557, F27: -1.6678742e+09, F28: -2.6545418e+09, F29: 1.6554808637707613e+09, F30: -3.9337784215193796e+08, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"b\"}}}",
		Source: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: VArray2_VEnumBcd{
				VEnumBcdC,
				VEnumBcdB,
			},
			F1: true,
			F3: "eΔΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: __VDLType_set_231,
			F7: 6,
			F8: VEnumAbcC,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "cdeΔ",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "deΔΘΠΣΦ",
			}),
			F13: 23891,
			F15: 3966497812,
			F16: 1776609092,
			F17: 13618574075811312760,
			F18: 3727278410519680325,
			F19: 12,
			F20: -52,
			F21: 14009,
			F24: 494275561,
			F25: -1816504498055159389,
			F26: -3933236622138960557,
			F27: -1.6678742e+09,
			F28: -2.6545418e+09,
			F29: 1.6554808637707613e+09,
			F30: -3.9337784215193796e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "eΔΘΠΣΦ王",
				Msg: "b",
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VStructDepth1_All{F8: {F0: VArray2_VEnumBcd{C, B}, F1: true, F3: \"eΔΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F5: typeobject(VSet_VUnionDepth2_VArray1_String), F7: 6, F8: C, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"deΔΘΠΣΦ\"}, F13: 23891, F15: 3966497812, F16: 1776609092, F17: 13618574075811312760, F18: 3727278410519680325, F19: 12, F20: -52, F21: 14009, F24: 494275561, F25: -1816504498055159389, F26: -3933236622138960557, F27: -1.6678742e+09, F28: -2.6545418e+09, F29: 1.6554808637707613e+09, F30: -3.9337784215193796e+08, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"b\"}}}",
		Target: VUnionDepth2_VStructDepth1_All(VUnionDepth2_VStructDepth1_AllF8{VStructDepth1_All{
			F0: VArray2_VEnumBcd{
				VEnumBcdC,
				VEnumBcdB,
			},
			F1: true,
			F3: "eΔΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: __VDLType_set_231,
			F7: 6,
			F8: VEnumAbcC,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "cdeΔ",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "deΔΘΠΣΦ",
			}),
			F13: 23891,
			F15: 3966497812,
			F16: 1776609092,
			F17: 13618574075811312760,
			F18: 3727278410519680325,
			F19: 12,
			F20: -52,
			F21: 14009,
			F24: 494275561,
			F25: -1816504498055159389,
			F26: -3933236622138960557,
			F27: -1.6678742e+09,
			F28: -2.6545418e+09,
			F29: 1.6554808637707613e+09,
			F30: -3.9337784215193796e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "eΔΘΠΣΦ王",
				Msg: "b",
			},
		}}),
		SourceLabel: "VUnionDepth2_All{F8: {F0: VArray2_VEnumBcd{C, B}, F1: true, F3: \"eΔΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F5: typeobject(VSet_VUnionDepth2_VArray1_String), F7: 6, F8: C, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"deΔΘΠΣΦ\"}, F13: 23891, F15: 3966497812, F16: 1776609092, F17: 13618574075811312760, F18: 3727278410519680325, F19: 12, F20: -52, F21: 14009, F24: 494275561, F25: -1816504498055159389, F26: -3933236622138960557, F27: -1.6678742e+09, F28: -2.6545418e+09, F29: 1.6554808637707613e+09, F30: -3.9337784215193796e+08, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"b\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF8{VStructDepth1_All{
			F0: VArray2_VEnumBcd{
				VEnumBcdC,
				VEnumBcdB,
			},
			F1: true,
			F3: "eΔΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: __VDLType_set_231,
			F7: 6,
			F8: VEnumAbcC,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "cdeΔ",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "deΔΘΠΣΦ",
			}),
			F13: 23891,
			F15: 3966497812,
			F16: 1776609092,
			F17: 13618574075811312760,
			F18: 3727278410519680325,
			F19: 12,
			F20: -52,
			F21: 14009,
			F24: 494275561,
			F25: -1816504498055159389,
			F26: -3933236622138960557,
			F27: -1.6678742e+09,
			F28: -2.6545418e+09,
			F29: 1.6554808637707613e+09,
			F30: -3.9337784215193796e+08,
			F31: &VStructEmpty{},
			F32: &VNamedError{
				Id:  "eΔΘΠΣΦ王",
				Msg: "b",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {}}",
		Target:      VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{}),
		SourceLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {}}",
		Source:      VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {}}",
		Target:      VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{}),
		SourceLabel: "VUnionDepth2_All{F9: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF9{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: -123}}",
		Target: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: -123,
		}}),
		SourceLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: -123}}",
		Source: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: -123,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: -123}}",
		Target: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: -123,
		}}),
		SourceLabel: "VUnionDepth2_All{F9: {F19: -123}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: -123,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: 45}}",
		Target: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: 45,
		}}),
		SourceLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: 45}}",
		Source: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: 45,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VStructDepth1_Int8{F9: {F19: 45}}",
		Target: VUnionDepth2_VStructDepth1_Int8(VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
			F19: 45,
		}}),
		SourceLabel: "VUnionDepth2_All{F9: {F19: 45}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: 45,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F0: nil}}",
		Target:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF0{}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F0: nil}}",
		Source:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF0{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F0: nil}}",
		Target:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF0{}}),
		SourceLabel: "VUnionDepth2_All{F10: {F0: nil}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF10{VUnionDepth1_AllF0{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
		SourceLabel: "VUnionDepth2_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF10{VUnionDepth1_AllF32{&VNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F5: typeobject(error)}}",
		Target:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF5{vdl.ErrorType}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F5: typeobject(error)}}",
		Source:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF5{vdl.ErrorType}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VUnionDepth1_All{F10: {F5: typeobject(error)}}",
		Target:      VUnionDepth2_VUnionDepth1_All(VUnionDepth2_VUnionDepth1_AllF10{VUnionDepth1_AllF5{vdl.ErrorType}}),
		SourceLabel: "VUnionDepth2_All{F10: {F5: typeobject(error)}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF10{VUnionDepth1_AllF5{vdl.ErrorType}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 0}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 0}}",
		Source:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 0}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{}}),
		SourceLabel: "VUnionDepth2_All{F11: {F16: 0}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF11{VUnionDepth1_VUint32F16{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 123}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{123}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 123}}",
		Source:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{123}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 123}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{123}}),
		SourceLabel: "VUnionDepth2_All{F11: {F16: 123}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF11{VUnionDepth1_VUint32F16{123}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 3089874748}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{3089874748}}),
		SourceLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 3089874748}}",
		Source:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{3089874748}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_VUnionDepth1_VUint32{F11: {F16: 3089874748}}",
		Target:      VUnionDepth2_VUnionDepth1_VUint32(VUnionDepth2_VUnionDepth1_VUint32F11{VUnionDepth1_VUint32F16{3089874748}}),
		SourceLabel: "VUnionDepth2_All{F11: {F16: 3089874748}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF11{VUnionDepth1_VUint32F16{3089874748}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: nil}",
		Target:      VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: nil}",
		Source:      VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: nil}",
		Target:      VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{}),
		SourceLabel: "VUnionDepth2_All{F12: nil}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF12{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Target: VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{&VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		}}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Source: VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{&VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VEnumBcd{F12: {F9: D}}",
		Target: VUnionDepth2_OptVStructDepth1_VEnumBcd(VUnionDepth2_OptVStructDepth1_VEnumBcdF12{&VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		}}),
		SourceLabel: "VUnionDepth2_All{F12: {F9: D}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF12{&VStructDepth1_VEnumBcd{
			F9: VEnumBcdD,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: nil}",
		Target:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: nil}",
		Source:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: nil}",
		Target:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{}),
		SourceLabel: "VUnionDepth2_All{F13: nil}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF13{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {F28: 1.5}}",
		Target: VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {F28: 1.5}}",
		Source: VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {F28: 1.5}}",
		Target: VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "VUnionDepth2_All{F13: {F28: 1.5}}",
		Source: VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {}}",
		Target:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{}}),
		SourceLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {}}",
		Source:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth2_OptVStructDepth1_VFloat32{F13: {}}",
		Target:      VUnionDepth2_OptVStructDepth1_VFloat32(VUnionDepth2_OptVStructDepth1_VFloat32F13{&VStructDepth1_VFloat32{}}),
		SourceLabel: "VUnionDepth2_All{F13: {}}",
		Source:      VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructDepth2_Set_Float64(nil)",
		Target:      (*VStructDepth2_Set_Float64)(nil),
		SourceLabel: "?VStructDepth2_Set_Float64(nil)",
		Source:      (*VStructDepth2_Set_Float64)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructDepth2_Set_Float64(nil)",
		Target:      (*VStructDepth2_Set_Float64)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructDepth2_Set_Float64(nil)",
		Target:      (*VStructDepth2_Set_Float64)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructDepth2_Set_Float64{F4: {1.5}}",
		Target: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "?VStructDepth2_Set_Float64{F4: {1.5}}",
		Source: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructDepth2_Set_Float64{F4: {1.5}}",
		Target: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_All{F4: {1.5}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?VStructDepth2_Set_Float64{F4: {-3.1238010423222246e+09, -4.0248753351471043e+09}}",
		Target: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-3.1238010423222246e+09: struct{}{},
				-4.0248753351471043e+09: struct{}{},
			},
		},
		SourceLabel: "?VStructDepth2_Set_Float64{F4: {-3.1238010423222246e+09, -4.0248753351471043e+09}}",
		Source: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-3.1238010423222246e+09: struct{}{},
				-4.0248753351471043e+09: struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?VStructDepth2_Set_Float64{F4: {-3.1238010423222246e+09, -4.0248753351471043e+09}}",
		Target: &VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-3.1238010423222246e+09: struct{}{},
				-4.0248753351471043e+09: struct{}{},
			},
		},
		SourceLabel: "VStructDepth2_All{F4: {-3.1238010423222246e+09, -4.0248753351471043e+09}}",
		Source: VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F4: map[float64]struct{}{
				-3.1238010423222246e+09: struct{}{},
				-4.0248753351471043e+09: struct{}{},
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray1_VArray1_VList_Byte{}",
		Target:      VArray1_VArray1_VList_Byte{},
		SourceLabel: "VArray1_VArray1_VList_Byte{}",
		Source:      VArray1_VArray1_VList_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VArray1_VList_Byte{}",
		Target:      VArray1_VArray1_VList_Byte{},
		SourceLabel: "VList_Any{VArray1_VList_Byte{}}",
		Source: VList_Any{
			VArray1_VList_Byte{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray1_VArray1_VList_Byte{}",
		Target:      VArray1_VArray1_VList_Byte{},
		SourceLabel: "[]any{VArray1_VList_Byte{}}",
		Source: []interface{}{
			VArray1_VList_Byte{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray1_VArray1_VList_Byte{{\"{\"}}",
		Target: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("{"),
			},
		},
		SourceLabel: "VArray1_VArray1_VList_Byte{{\"{\"}}",
		Source: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("{"),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray1_VArray1_VList_Byte{{\"{\"}}",
		Target: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("{"),
			},
		},
		SourceLabel: "[]any{VArray1_VList_Byte{\"{\"}}",
		Source: []interface{}{
			VArray1_VList_Byte{
				VList_Byte("{"),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray1_VArray1_VList_Byte{{\"\\xb8\\xb6\\x00\"}}",
		Target: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("\xb8\xb6\x00"),
			},
		},
		SourceLabel: "VArray1_VArray1_VList_Byte{{\"\\xb8\\xb6\\x00\"}}",
		Source: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("\xb8\xb6\x00"),
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray1_VArray1_VList_Byte{{\"\\xb8\\xb6\\x00\"}}",
		Target: VArray1_VArray1_VList_Byte{
			{
				VList_Byte("\xb8\xb6\x00"),
			},
		},
		SourceLabel: "[]any{VArray1_VList_Byte{\"\\xb8\\xb6\\x00\"}}",
		Source: []interface{}{
			VArray1_VList_Byte{
				VList_Byte("\xb8\xb6\x00"),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{}",
		Target:      VArray2_List_VMap_VByte_VByte{},
		SourceLabel: "VArray2_List_VMap_VByte_VByte{}",
		Source:      VArray2_List_VMap_VByte_VByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{}",
		Target:      VArray2_List_VMap_VByte_VByte{},
		SourceLabel: "VList_Any{[]VMap_VByte_VByte{}, []VMap_VByte_VByte{}}",
		Source: VList_Any{
			[]VMap_VByte_VByte(nil),
			[]VMap_VByte_VByte(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{}",
		Target:      VArray2_List_VMap_VByte_VByte{},
		SourceLabel: "VList_List_VMap_VByte_VByte{{}, {}}",
		Source: VList_List_VMap_VByte_VByte{
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{{{123: 123}}, {{123: 123}}}",
		Target: VArray2_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "VArray2_List_VMap_VByte_VByte{{{123: 123}}, {{123: 123}}}",
		Source: VArray2_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{{{123: 123}}, {{123: 123}}}",
		Target: VArray2_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "[]any{[]VMap_VByte_VByte{{123: 123}}, []VMap_VByte_VByte{{123: 123}}}",
		Source: []interface{}{
			[]VMap_VByte_VByte{
				{
					123: 123,
				},
			},
			[]VMap_VByte_VByte{
				{
					123: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{{{95: 34}, {0: 0}, {0: 217, 73: 212}}, {{18: 76, 189: 147, 232: 89}}}",
		Target: VArray2_List_VMap_VByte_VByte{
			{
				{
					95: 34,
				},
				{
					0: 0,
				},
				{
					0:  217,
					73: 212,
				},
			},
			{
				{
					18:  76,
					189: 147,
					232: 89,
				},
			},
		},
		SourceLabel: "VArray2_List_VMap_VByte_VByte{{{95: 34}, {0: 0}, {0: 217, 73: 212}}, {{18: 76, 189: 147, 232: 89}}}",
		Source: VArray2_List_VMap_VByte_VByte{
			{
				{
					95: 34,
				},
				{
					0: 0,
				},
				{
					0:  217,
					73: 212,
				},
			},
			{
				{
					18:  76,
					189: 147,
					232: 89,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_List_VMap_VByte_VByte{{{95: 34}, {0: 0}, {0: 217, 73: 212}}, {{18: 76, 189: 147, 232: 89}}}",
		Target: VArray2_List_VMap_VByte_VByte{
			{
				{
					95: 34,
				},
				{
					0: 0,
				},
				{
					0:  217,
					73: 212,
				},
			},
			{
				{
					18:  76,
					189: 147,
					232: 89,
				},
			},
		},
		SourceLabel: "VList_List_VMap_VByte_VByte{{{95: 34}, {0: 0}, {0: 217, 73: 212}}, {{18: 76, 189: 147, 232: 89}}}",
		Source: VList_List_VMap_VByte_VByte{
			{
				{
					95: 34,
				},
				{
					0: 0,
				},
				{
					0:  217,
					73: 212,
				},
			},
			{
				{
					18:  76,
					189: 147,
					232: 89,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{}",
		Target:      VArray2_Set_VUnionDepth1_VNamedError{},
		SourceLabel: "VArray2_Set_VUnionDepth1_VNamedError{}",
		Source:      VArray2_Set_VUnionDepth1_VNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{}",
		Target:      VArray2_Set_VUnionDepth1_VNamedError{},
		SourceLabel: "VList_Any{set[VUnionDepth1_VNamedError]{}, set[VUnionDepth1_VNamedError]{}}",
		Source: VList_Any{
			map[VUnionDepth1_VNamedError]struct{}(nil),
			map[VUnionDepth1_VNamedError]struct{}(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{}",
		Target:      VArray2_Set_VUnionDepth1_VNamedError{},
		SourceLabel: "[]any{set[VUnionDepth1_VNamedError]{}, set[VUnionDepth1_VNamedError]{}}",
		Source: []interface{}{
			map[VUnionDepth1_VNamedError]struct{}(nil),
			map[VUnionDepth1_VNamedError]struct{}(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
		SourceLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
		SourceLabel: "VList_Any{set[VUnionDepth1_VNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, set[VUnionDepth1_VNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VList_Any{
			map[VUnionDepth1_VNamedError]struct{}{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			map[VUnionDepth1_VNamedError]struct{}{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {}}, {F11: {Msg: \"bcd\"}}, {F11: {Id: \"Π\", Msg: \"deΔΘΠΣ\"}}}, {{F11: {Id: \"普澤\", Msg: \"ΠΣ\"}}}}",
		Target: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "bcd",
				}}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "Π",
					Msg: "deΔΘΠΣ",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "普澤",
					Msg: "ΠΣ",
				}}: struct{}{},
			},
		},
		SourceLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {}}, {F11: {Msg: \"bcd\"}}, {F11: {Id: \"Π\", Msg: \"deΔΘΠΣ\"}}}, {{F11: {Id: \"普澤\", Msg: \"ΠΣ\"}}}}",
		Source: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "bcd",
				}}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "Π",
					Msg: "deΔΘΠΣ",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "普澤",
					Msg: "ΠΣ",
				}}: struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_Set_VUnionDepth1_VNamedError{{{F11: {}}, {F11: {Msg: \"bcd\"}}, {F11: {Id: \"Π\", Msg: \"deΔΘΠΣ\"}}}, {{F11: {Id: \"普澤\", Msg: \"ΠΣ\"}}}}",
		Target: VArray2_Set_VUnionDepth1_VNamedError{
			{
				VUnionDepth1_VNamedErrorF11{}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "bcd",
				}}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "Π",
					Msg: "deΔΘΠΣ",
				}}: struct{}{},
			},
			{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "普澤",
					Msg: "ΠΣ",
				}}: struct{}{},
			},
		},
		SourceLabel: "VList_Any{set[VUnionDepth1_VNamedError]{{F11: {}}, {F11: {Msg: \"bcd\"}}, {F11: {Id: \"Π\", Msg: \"deΔΘΠΣ\"}}}, set[VUnionDepth1_VNamedError]{{F11: {Id: \"普澤\", Msg: \"ΠΣ\"}}}}",
		Source: VList_Any{
			map[VUnionDepth1_VNamedError]struct{}{
				VUnionDepth1_VNamedErrorF11{}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Msg: "bcd",
				}}: struct{}{},
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "Π",
					Msg: "deΔΘΠΣ",
				}}: struct{}{},
			},
			map[VUnionDepth1_VNamedError]struct{}{
				VUnionDepth1_VNamedErrorF11{VNamedError{
					Id:  "普澤",
					Msg: "ΠΣ",
				}}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Source:      VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VList_Any{map[VUnionDepth1_Float64]VUnionDepth1_Float64{}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{}}",
		Source: VList_Any{
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VArray3_Any{map[VUnionDepth1_Float64]VUnionDepth1_Float64{}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{}}",
		Source: VArray3_Any{
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Target: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Source: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Target: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "[]any{map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}}",
		Source: []interface{}{
			map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: -1.6468979428598511e+09}: {F29: -2.5780915586736135e+09}, {F29: -2.873526404870196e+08}: {F29: -1.8274420093700492e+09}, {F29: -3.4188200611970117e+06}: {F29: 1.2474770726776407e+09}}, {}, {{F29: -5.75457527128432e+08}: {F29: -8.410893761115919e+08}, {F29: 0}: {F29: 0}}}",
		Target: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{-1.6468979428598511e+09}: VUnionDepth1_Float64F29{-2.5780915586736135e+09},
				VUnionDepth1_Float64F29{-2.873526404870196e+08}:  VUnionDepth1_Float64F29{-1.8274420093700492e+09},
				VUnionDepth1_Float64F29{-3.4188200611970117e+06}: VUnionDepth1_Float64F29{1.2474770726776407e+09},
			},
			nil,
			{
				VUnionDepth1_Float64F29{-5.75457527128432e+08}: VUnionDepth1_Float64F29{-8.410893761115919e+08},
				VUnionDepth1_Float64F29{}:                      VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: -1.6468979428598511e+09}: {F29: -2.5780915586736135e+09}, {F29: -2.873526404870196e+08}: {F29: -1.8274420093700492e+09}, {F29: -3.4188200611970117e+06}: {F29: 1.2474770726776407e+09}}, {}, {{F29: -5.75457527128432e+08}: {F29: -8.410893761115919e+08}, {F29: 0}: {F29: 0}}}",
		Source: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{-1.6468979428598511e+09}: VUnionDepth1_Float64F29{-2.5780915586736135e+09},
				VUnionDepth1_Float64F29{-2.873526404870196e+08}:  VUnionDepth1_Float64F29{-1.8274420093700492e+09},
				VUnionDepth1_Float64F29{-3.4188200611970117e+06}: VUnionDepth1_Float64F29{1.2474770726776407e+09},
			},
			nil,
			{
				VUnionDepth1_Float64F29{-5.75457527128432e+08}: VUnionDepth1_Float64F29{-8.410893761115919e+08},
				VUnionDepth1_Float64F29{}:                      VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{{{F29: -1.6468979428598511e+09}: {F29: -2.5780915586736135e+09}, {F29: -2.873526404870196e+08}: {F29: -1.8274420093700492e+09}, {F29: -3.4188200611970117e+06}: {F29: 1.2474770726776407e+09}}, {}, {{F29: -5.75457527128432e+08}: {F29: -8.410893761115919e+08}, {F29: 0}: {F29: 0}}}",
		Target: VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			{
				VUnionDepth1_Float64F29{-1.6468979428598511e+09}: VUnionDepth1_Float64F29{-2.5780915586736135e+09},
				VUnionDepth1_Float64F29{-2.873526404870196e+08}:  VUnionDepth1_Float64F29{-1.8274420093700492e+09},
				VUnionDepth1_Float64F29{-3.4188200611970117e+06}: VUnionDepth1_Float64F29{1.2474770726776407e+09},
			},
			nil,
			{
				VUnionDepth1_Float64F29{-5.75457527128432e+08}: VUnionDepth1_Float64F29{-8.410893761115919e+08},
				VUnionDepth1_Float64F29{}:                      VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VList_Any{map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: -1.6468979428598511e+09}: {F29: -2.5780915586736135e+09}, {F29: -2.873526404870196e+08}: {F29: -1.8274420093700492e+09}, {F29: -3.4188200611970117e+06}: {F29: 1.2474770726776407e+09}}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{}, map[VUnionDepth1_Float64]VUnionDepth1_Float64{{F29: -5.75457527128432e+08}: {F29: -8.410893761115919e+08}, {F29: 0}: {F29: 0}}}",
		Source: VList_Any{
			map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-1.6468979428598511e+09}: VUnionDepth1_Float64F29{-2.5780915586736135e+09},
				VUnionDepth1_Float64F29{-2.873526404870196e+08}:  VUnionDepth1_Float64F29{-1.8274420093700492e+09},
				VUnionDepth1_Float64F29{-3.4188200611970117e+06}: VUnionDepth1_Float64F29{1.2474770726776407e+09},
			},
			map[VUnionDepth1_Float64]VUnionDepth1_Float64(nil),
			map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-5.75457527128432e+08}: VUnionDepth1_Float64F29{-8.410893761115919e+08},
				VUnionDepth1_Float64F29{}:                      VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth2_All{}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VArray2_VStructDepth2_All{}",
		Source: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth2_All{}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VList_Any{VStructDepth2_All{}, VStructDepth2_All{}}",
		Source: VList_Any{
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VStructDepth2_All{}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "[]?VStructEmpty{{}, {}}",
		Source: []*VStructEmpty{
			{},
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(VList_VSet_VArray1_VStructEmpty), typeobject(VArray3_Any)}, F2: {-8235, 10234, 0}, F3: {nil}, F4: {-3.940977071572917e+08, -5.0264640947262836e+08, 1.0200576920401574e+09}, F5: {D}, F7: {399892036: 1455005223}, F10: {F8: B}, F12: {F9: C}, F13: {F14: 28607}}, {F0: {typeobject(VSet_VEnumAbc), typeobject(VMap_VStructDepth1_VBool_VStructDepth1_VBool)}, F3: {VList_VEnumAbc{B}, VUnionDepth3_VStructDepth2_All{F4: {F1: {1742515881}, F2: {-3208, 4947}, F3: {nil, VUnionDepth1_VString{F4: \"ΔΘΠ\"}, nil}, F4: {-2.1807296293246665e+09}, F5: {B, D}, F7: {0: 4253130263, 1886998534: 3899331238}, F8: {F0: VUint16(14541), F4: \"eΔ\", F5: typeobject(VUnionDepth1_Any), F6: 218, F7: 194, F8: B, F9: D, F11: {Id: \"ΘΠΣΦ王普\", Msg: \"abcde\"}, F12: {Id: \"abcdeΔΘ\", RetryCode: RetryBackoff}, F13: 8041, F14: 60257, F15: 4214271556, F16: 2504482528, F17: 13461755490177698188, F18: 16865746146084059053, F19: 1, F20: -32, F22: 10940, F23: -735974144, F24: 800707543, F26: 73919714829649871, F27: 1.0520115e+08, F28: 1.1381097e+09, F30: -2.251978035297538e+08, F31: {}, F32: {Id: \"d\", Msg: \"abcdeΔΘ\"}}, F9: {F1: true}, F12: {F9: D}, F13: {F14: 31660}}}, VSet_VEnumAbc{A, B, C}}, F4: {0, 8.857047681266707e+07}, F5: {B}, F7: {0: 1481979836, 3962308101: 2916248872}, F11: {F29: 5.253663493219364e+08}, F12: {F9: D}, F13: {F14: 49095}}}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_list_224,
					__VDLType_array_18,
				},
				F2: []int16{
					-8235,
					10234,
					0,
				},
				F3: VList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					-3.940977071572917e+08:  struct{}{},
					-5.0264640947262836e+08: struct{}{},
					1.0200576920401574e+09:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F7: map[uint32]uint32{
					399892036: 1455005223,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF8{VEnumAbcB},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdC,
				},
				F13: &VStructDepth1_VUint16{
					F14: 28607,
				},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_set_62,
					__VDLType_map_174,
				},
				F3: VList_Any{
					VList_VEnumAbc{
						VEnumAbcB,
					},
					VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
						F0: VArray2_TypeObject{
							vdl.AnyType,
							vdl.AnyType,
						},
						F1: VArray1_Uint32{
							1742515881,
						},
						F2: []int16{
							-3208,
							4947,
						},
						F3: VList_Any{
							nil,
							VUnionDepth1_VString(VUnionDepth1_VStringF4{"ΔΘΠ"}),
							nil,
						},
						F4: map[float64]struct{}{
							-2.1807296293246665e+09: struct{}{},
						},
						F5: VSet_VEnumBcd{
							VEnumBcdB: struct{}{},
							VEnumBcdD: struct{}{},
						},
						F7: map[uint32]uint32{
							0:          4253130263,
							1886998534: 3899331238,
						},
						F8: VStructDepth1_All{
							F0: VUint16(14541),
							F4: "eΔ",
							F5: __VDLType_union_117,
							F6: 218,
							F7: 194,
							F8: VEnumAbcB,
							F9: VEnumBcdD,
							F11: VNamedError{
								Id:  "ΘΠΣΦ王普",
								Msg: "abcde",
							},
							F12: verror.FromWire(&vdl.WireError{
								Id:        "abcdeΔΘ",
								RetryCode: vdl.WireRetryCodeRetryBackoff,
							}),
							F13: 8041,
							F14: 60257,
							F15: 4214271556,
							F16: 2504482528,
							F17: 13461755490177698188,
							F18: 16865746146084059053,
							F19: 1,
							F20: -32,
							F22: 10940,
							F23: -735974144,
							F24: 800707543,
							F26: 73919714829649871,
							F27: 1.0520115e+08,
							F28: 1.1381097e+09,
							F30: -2.251978035297538e+08,
							F31: &VStructEmpty{},
							F32: &VNamedError{
								Id:  "d",
								Msg: "abcdeΔΘ",
							},
						},
						F9: VStructDepth1_Bool{
							F1: true,
						},
						F10: VUnionDepth1_AllF0{},
						F11: VUnionDepth1_Float64F29{},
						F12: &VStructDepth1_VEnumBcd{
							F9: VEnumBcdD,
						},
						F13: &VStructDepth1_VUint16{
							F14: 31660,
						},
					}}),
					VSet_VEnumAbc{
						VEnumAbcA: struct{}{},
						VEnumAbcB: struct{}{},
						VEnumAbcC: struct{}{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
					8.857047681266707e+07: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					0:          1481979836,
					3962308101: 2916248872,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{5.253663493219364e+08},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 49095,
				},
			},
		},
		SourceLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(VList_VSet_VArray1_VStructEmpty), typeobject(VArray3_Any)}, F2: {-8235, 10234, 0}, F3: {nil}, F4: {-3.940977071572917e+08, -5.0264640947262836e+08, 1.0200576920401574e+09}, F5: {D}, F7: {399892036: 1455005223}, F10: {F8: B}, F12: {F9: C}, F13: {F14: 28607}}, {F0: {typeobject(VSet_VEnumAbc), typeobject(VMap_VStructDepth1_VBool_VStructDepth1_VBool)}, F3: {VList_VEnumAbc{B}, VUnionDepth3_VStructDepth2_All{F4: {F1: {1742515881}, F2: {-3208, 4947}, F3: {nil, VUnionDepth1_VString{F4: \"ΔΘΠ\"}, nil}, F4: {-2.1807296293246665e+09}, F5: {B, D}, F7: {0: 4253130263, 1886998534: 3899331238}, F8: {F0: VUint16(14541), F4: \"eΔ\", F5: typeobject(VUnionDepth1_Any), F6: 218, F7: 194, F8: B, F9: D, F11: {Id: \"ΘΠΣΦ王普\", Msg: \"abcde\"}, F12: {Id: \"abcdeΔΘ\", RetryCode: RetryBackoff}, F13: 8041, F14: 60257, F15: 4214271556, F16: 2504482528, F17: 13461755490177698188, F18: 16865746146084059053, F19: 1, F20: -32, F22: 10940, F23: -735974144, F24: 800707543, F26: 73919714829649871, F27: 1.0520115e+08, F28: 1.1381097e+09, F30: -2.251978035297538e+08, F31: {}, F32: {Id: \"d\", Msg: \"abcdeΔΘ\"}}, F9: {F1: true}, F12: {F9: D}, F13: {F14: 31660}}}, VSet_VEnumAbc{A, B, C}}, F4: {0, 8.857047681266707e+07}, F5: {B}, F7: {0: 1481979836, 3962308101: 2916248872}, F11: {F29: 5.253663493219364e+08}, F12: {F9: D}, F13: {F14: 49095}}}",
		Source: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_list_224,
					__VDLType_array_18,
				},
				F2: []int16{
					-8235,
					10234,
					0,
				},
				F3: VList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					-3.940977071572917e+08:  struct{}{},
					-5.0264640947262836e+08: struct{}{},
					1.0200576920401574e+09:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F7: map[uint32]uint32{
					399892036: 1455005223,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF8{VEnumAbcB},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdC,
				},
				F13: &VStructDepth1_VUint16{
					F14: 28607,
				},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_set_62,
					__VDLType_map_174,
				},
				F3: VList_Any{
					VList_VEnumAbc{
						VEnumAbcB,
					},
					VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
						F0: VArray2_TypeObject{
							vdl.AnyType,
							vdl.AnyType,
						},
						F1: VArray1_Uint32{
							1742515881,
						},
						F2: []int16{
							-3208,
							4947,
						},
						F3: VList_Any{
							nil,
							VUnionDepth1_VString(VUnionDepth1_VStringF4{"ΔΘΠ"}),
							nil,
						},
						F4: map[float64]struct{}{
							-2.1807296293246665e+09: struct{}{},
						},
						F5: VSet_VEnumBcd{
							VEnumBcdB: struct{}{},
							VEnumBcdD: struct{}{},
						},
						F7: map[uint32]uint32{
							0:          4253130263,
							1886998534: 3899331238,
						},
						F8: VStructDepth1_All{
							F0: VUint16(14541),
							F4: "eΔ",
							F5: __VDLType_union_117,
							F6: 218,
							F7: 194,
							F8: VEnumAbcB,
							F9: VEnumBcdD,
							F11: VNamedError{
								Id:  "ΘΠΣΦ王普",
								Msg: "abcde",
							},
							F12: verror.FromWire(&vdl.WireError{
								Id:        "abcdeΔΘ",
								RetryCode: vdl.WireRetryCodeRetryBackoff,
							}),
							F13: 8041,
							F14: 60257,
							F15: 4214271556,
							F16: 2504482528,
							F17: 13461755490177698188,
							F18: 16865746146084059053,
							F19: 1,
							F20: -32,
							F22: 10940,
							F23: -735974144,
							F24: 800707543,
							F26: 73919714829649871,
							F27: 1.0520115e+08,
							F28: 1.1381097e+09,
							F30: -2.251978035297538e+08,
							F31: &VStructEmpty{},
							F32: &VNamedError{
								Id:  "d",
								Msg: "abcdeΔΘ",
							},
						},
						F9: VStructDepth1_Bool{
							F1: true,
						},
						F10: VUnionDepth1_AllF0{},
						F11: VUnionDepth1_Float64F29{},
						F12: &VStructDepth1_VEnumBcd{
							F9: VEnumBcdD,
						},
						F13: &VStructDepth1_VUint16{
							F14: 31660,
						},
					}}),
					VSet_VEnumAbc{
						VEnumAbcA: struct{}{},
						VEnumAbcB: struct{}{},
						VEnumAbcC: struct{}{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
					8.857047681266707e+07: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					0:          1481979836,
					3962308101: 2916248872,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{5.253663493219364e+08},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 49095,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(VList_VSet_VArray1_VStructEmpty), typeobject(VArray3_Any)}, F2: {-8235, 10234, 0}, F3: {nil}, F4: {-3.940977071572917e+08, -5.0264640947262836e+08, 1.0200576920401574e+09}, F5: {D}, F7: {399892036: 1455005223}, F10: {F8: B}, F12: {F9: C}, F13: {F14: 28607}}, {F0: {typeobject(VSet_VEnumAbc), typeobject(VMap_VStructDepth1_VBool_VStructDepth1_VBool)}, F3: {VList_VEnumAbc{B}, VUnionDepth3_VStructDepth2_All{F4: {F1: {1742515881}, F2: {-3208, 4947}, F3: {nil, VUnionDepth1_VString{F4: \"ΔΘΠ\"}, nil}, F4: {-2.1807296293246665e+09}, F5: {B, D}, F7: {0: 4253130263, 1886998534: 3899331238}, F8: {F0: VUint16(14541), F4: \"eΔ\", F5: typeobject(VUnionDepth1_Any), F6: 218, F7: 194, F8: B, F9: D, F11: {Id: \"ΘΠΣΦ王普\", Msg: \"abcde\"}, F12: {Id: \"abcdeΔΘ\", RetryCode: RetryBackoff}, F13: 8041, F14: 60257, F15: 4214271556, F16: 2504482528, F17: 13461755490177698188, F18: 16865746146084059053, F19: 1, F20: -32, F22: 10940, F23: -735974144, F24: 800707543, F26: 73919714829649871, F27: 1.0520115e+08, F28: 1.1381097e+09, F30: -2.251978035297538e+08, F31: {}, F32: {Id: \"d\", Msg: \"abcdeΔΘ\"}}, F9: {F1: true}, F12: {F9: D}, F13: {F14: 31660}}}, VSet_VEnumAbc{A, B, C}}, F4: {0, 8.857047681266707e+07}, F5: {B}, F7: {0: 1481979836, 3962308101: 2916248872}, F11: {F29: 5.253663493219364e+08}, F12: {F9: D}, F13: {F14: 49095}}}",
		Target: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_list_224,
					__VDLType_array_18,
				},
				F2: []int16{
					-8235,
					10234,
					0,
				},
				F3: VList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					-3.940977071572917e+08:  struct{}{},
					-5.0264640947262836e+08: struct{}{},
					1.0200576920401574e+09:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F7: map[uint32]uint32{
					399892036: 1455005223,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF8{VEnumAbcB},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdC,
				},
				F13: &VStructDepth1_VUint16{
					F14: 28607,
				},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_set_62,
					__VDLType_map_174,
				},
				F3: VList_Any{
					VList_VEnumAbc{
						VEnumAbcB,
					},
					VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
						F0: VArray2_TypeObject{
							vdl.AnyType,
							vdl.AnyType,
						},
						F1: VArray1_Uint32{
							1742515881,
						},
						F2: []int16{
							-3208,
							4947,
						},
						F3: VList_Any{
							nil,
							VUnionDepth1_VString(VUnionDepth1_VStringF4{"ΔΘΠ"}),
							nil,
						},
						F4: map[float64]struct{}{
							-2.1807296293246665e+09: struct{}{},
						},
						F5: VSet_VEnumBcd{
							VEnumBcdB: struct{}{},
							VEnumBcdD: struct{}{},
						},
						F7: map[uint32]uint32{
							0:          4253130263,
							1886998534: 3899331238,
						},
						F8: VStructDepth1_All{
							F0: VUint16(14541),
							F4: "eΔ",
							F5: __VDLType_union_117,
							F6: 218,
							F7: 194,
							F8: VEnumAbcB,
							F9: VEnumBcdD,
							F11: VNamedError{
								Id:  "ΘΠΣΦ王普",
								Msg: "abcde",
							},
							F12: verror.FromWire(&vdl.WireError{
								Id:        "abcdeΔΘ",
								RetryCode: vdl.WireRetryCodeRetryBackoff,
							}),
							F13: 8041,
							F14: 60257,
							F15: 4214271556,
							F16: 2504482528,
							F17: 13461755490177698188,
							F18: 16865746146084059053,
							F19: 1,
							F20: -32,
							F22: 10940,
							F23: -735974144,
							F24: 800707543,
							F26: 73919714829649871,
							F27: 1.0520115e+08,
							F28: 1.1381097e+09,
							F30: -2.251978035297538e+08,
							F31: &VStructEmpty{},
							F32: &VNamedError{
								Id:  "d",
								Msg: "abcdeΔΘ",
							},
						},
						F9: VStructDepth1_Bool{
							F1: true,
						},
						F10: VUnionDepth1_AllF0{},
						F11: VUnionDepth1_Float64F29{},
						F12: &VStructDepth1_VEnumBcd{
							F9: VEnumBcdD,
						},
						F13: &VStructDepth1_VUint16{
							F14: 31660,
						},
					}}),
					VSet_VEnumAbc{
						VEnumAbcA: struct{}{},
						VEnumAbcB: struct{}{},
						VEnumAbcC: struct{}{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
					8.857047681266707e+07: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					0:          1481979836,
					3962308101: 2916248872,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{5.253663493219364e+08},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 49095,
				},
			},
		},
		SourceLabel: "[]any{VStructDepth2_All{F0: {typeobject(VList_VSet_VArray1_VStructEmpty), typeobject(VArray3_Any)}, F2: {-8235, 10234, 0}, F3: {nil}, F4: {-3.940977071572917e+08, -5.0264640947262836e+08, 1.0200576920401574e+09}, F5: {D}, F7: {399892036: 1455005223}, F10: {F8: B}, F12: {F9: C}, F13: {F14: 28607}}, VStructDepth2_All{F0: {typeobject(VSet_VEnumAbc), typeobject(VMap_VStructDepth1_VBool_VStructDepth1_VBool)}, F3: {VList_VEnumAbc{B}, VUnionDepth3_VStructDepth2_All{F4: {F1: {1742515881}, F2: {-3208, 4947}, F3: {nil, VUnionDepth1_VString{F4: \"ΔΘΠ\"}, nil}, F4: {-2.1807296293246665e+09}, F5: {B, D}, F7: {0: 4253130263, 1886998534: 3899331238}, F8: {F0: VUint16(14541), F4: \"eΔ\", F5: typeobject(VUnionDepth1_Any), F6: 218, F7: 194, F8: B, F9: D, F11: {Id: \"ΘΠΣΦ王普\", Msg: \"abcde\"}, F12: {Id: \"abcdeΔΘ\", RetryCode: RetryBackoff}, F13: 8041, F14: 60257, F15: 4214271556, F16: 2504482528, F17: 13461755490177698188, F18: 16865746146084059053, F19: 1, F20: -32, F22: 10940, F23: -735974144, F24: 800707543, F26: 73919714829649871, F27: 1.0520115e+08, F28: 1.1381097e+09, F30: -2.251978035297538e+08, F31: {}, F32: {Id: \"d\", Msg: \"abcdeΔΘ\"}}, F9: {F1: true}, F12: {F9: D}, F13: {F14: 31660}}}, VSet_VEnumAbc{A, B, C}}, F4: {0, 8.857047681266707e+07}, F5: {B}, F7: {0: 1481979836, 3962308101: 2916248872}, F11: {F29: 5.253663493219364e+08}, F12: {F9: D}, F13: {F14: 49095}}}",
		Source: []interface{}{
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					__VDLType_list_224,
					__VDLType_array_18,
				},
				F2: []int16{
					-8235,
					10234,
					0,
				},
				F3: VList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					-3.940977071572917e+08:  struct{}{},
					-5.0264640947262836e+08: struct{}{},
					1.0200576920401574e+09:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F7: map[uint32]uint32{
					399892036: 1455005223,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF8{VEnumAbcB},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdC,
				},
				F13: &VStructDepth1_VUint16{
					F14: 28607,
				},
			},
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					__VDLType_set_62,
					__VDLType_map_174,
				},
				F3: VList_Any{
					VList_VEnumAbc{
						VEnumAbcB,
					},
					VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
						F0: VArray2_TypeObject{
							vdl.AnyType,
							vdl.AnyType,
						},
						F1: VArray1_Uint32{
							1742515881,
						},
						F2: []int16{
							-3208,
							4947,
						},
						F3: VList_Any{
							nil,
							VUnionDepth1_VString(VUnionDepth1_VStringF4{"ΔΘΠ"}),
							nil,
						},
						F4: map[float64]struct{}{
							-2.1807296293246665e+09: struct{}{},
						},
						F5: VSet_VEnumBcd{
							VEnumBcdB: struct{}{},
							VEnumBcdD: struct{}{},
						},
						F7: map[uint32]uint32{
							0:          4253130263,
							1886998534: 3899331238,
						},
						F8: VStructDepth1_All{
							F0: VUint16(14541),
							F4: "eΔ",
							F5: __VDLType_union_117,
							F6: 218,
							F7: 194,
							F8: VEnumAbcB,
							F9: VEnumBcdD,
							F11: VNamedError{
								Id:  "ΘΠΣΦ王普",
								Msg: "abcde",
							},
							F12: verror.FromWire(&vdl.WireError{
								Id:        "abcdeΔΘ",
								RetryCode: vdl.WireRetryCodeRetryBackoff,
							}),
							F13: 8041,
							F14: 60257,
							F15: 4214271556,
							F16: 2504482528,
							F17: 13461755490177698188,
							F18: 16865746146084059053,
							F19: 1,
							F20: -32,
							F22: 10940,
							F23: -735974144,
							F24: 800707543,
							F26: 73919714829649871,
							F27: 1.0520115e+08,
							F28: 1.1381097e+09,
							F30: -2.251978035297538e+08,
							F31: &VStructEmpty{},
							F32: &VNamedError{
								Id:  "d",
								Msg: "abcdeΔΘ",
							},
						},
						F9: VStructDepth1_Bool{
							F1: true,
						},
						F10: VUnionDepth1_AllF0{},
						F11: VUnionDepth1_Float64F29{},
						F12: &VStructDepth1_VEnumBcd{
							F9: VEnumBcdD,
						},
						F13: &VStructDepth1_VUint16{
							F14: 31660,
						},
					}}),
					VSet_VEnumAbc{
						VEnumAbcA: struct{}{},
						VEnumAbcB: struct{}{},
						VEnumAbcC: struct{}{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
					8.857047681266707e+07: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					0:          1481979836,
					3962308101: 2916248872,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{5.253663493219364e+08},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 49095,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray2_VUnionDepth2_All{}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF0{},
		},
		SourceLabel: "VArray2_VUnionDepth2_All{}",
		Source: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VUnionDepth2_All{}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF0{},
		},
		SourceLabel: "VList_Any{VUnionDepth2_All{F0: {}}, VUnionDepth2_All{F0: {}}}",
		Source: VList_Any{
			VUnionDepth2_All(VUnionDepth2_AllF0{}),
			VUnionDepth2_All(VUnionDepth2_AllF0{}),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray2_VUnionDepth2_All{}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF0{},
		},
		SourceLabel: "VList_VUnionDepth2_All{{F0: {}}, {F0: {}}}",
		Source: VList_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray2_VUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "VArray2_VUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Source: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray2_VUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "VList_VUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Source: VList_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray2_VUnionDepth2_All{{F8: {F0: VStructDepth1_VFloat32{F28: -1.760837e+09}, F1: true, F3: \"bcde\", F4: \"deΔΘΠΣ\", F5: typeobject(VSet_VEnumAbc), F6: 141, F11: {Msg: \"澤\"}, F12: {Id: \"abcdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普澤世\"}, F13: 25586, F14: 13168, F16: 3392140144, F17: 4800936644249953134, F18: 1433653936825833359, F19: 1, F20: -19, F21: -5023, F22: 5639, F23: -1001860443, F24: -638375194, F25: -2663406277260744766, F26: -4456694877565021047, F27: -5.526668e+08, F28: -3.4535696e+08, F29: 4.358405230142962e+07, F31: {}, F32: {Id: \"eΔ\", Msg: \"Φ\"}}}, {F4: {false}}}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF8{VStructDepth1_All{
				F0: VStructDepth1_VFloat32{
					F28: -1.760837e+09,
				},
				F1: true,
				F3: "bcde",
				F4: "deΔΘΠΣ",
				F5: __VDLType_set_62,
				F6: 141,
				F11: VNamedError{
					Msg: "澤",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠ",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "bcdeΔΘΠΣΦ王普澤世",
				}),
				F13: 25586,
				F14: 13168,
				F16: 3392140144,
				F17: 4800936644249953134,
				F18: 1433653936825833359,
				F19: 1,
				F20: -19,
				F21: -5023,
				F22: 5639,
				F23: -1001860443,
				F24: -638375194,
				F25: -2663406277260744766,
				F26: -4456694877565021047,
				F27: -5.526668e+08,
				F28: -3.4535696e+08,
				F29: 4.358405230142962e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "eΔ",
					Msg: "Φ",
				},
			}},
			VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "VArray2_VUnionDepth2_All{{F8: {F0: VStructDepth1_VFloat32{F28: -1.760837e+09}, F1: true, F3: \"bcde\", F4: \"deΔΘΠΣ\", F5: typeobject(VSet_VEnumAbc), F6: 141, F11: {Msg: \"澤\"}, F12: {Id: \"abcdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普澤世\"}, F13: 25586, F14: 13168, F16: 3392140144, F17: 4800936644249953134, F18: 1433653936825833359, F19: 1, F20: -19, F21: -5023, F22: 5639, F23: -1001860443, F24: -638375194, F25: -2663406277260744766, F26: -4456694877565021047, F27: -5.526668e+08, F28: -3.4535696e+08, F29: 4.358405230142962e+07, F31: {}, F32: {Id: \"eΔ\", Msg: \"Φ\"}}}, {F4: {false}}}",
		Source: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF8{VStructDepth1_All{
				F0: VStructDepth1_VFloat32{
					F28: -1.760837e+09,
				},
				F1: true,
				F3: "bcde",
				F4: "deΔΘΠΣ",
				F5: __VDLType_set_62,
				F6: 141,
				F11: VNamedError{
					Msg: "澤",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠ",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "bcdeΔΘΠΣΦ王普澤世",
				}),
				F13: 25586,
				F14: 13168,
				F16: 3392140144,
				F17: 4800936644249953134,
				F18: 1433653936825833359,
				F19: 1,
				F20: -19,
				F21: -5023,
				F22: 5639,
				F23: -1001860443,
				F24: -638375194,
				F25: -2663406277260744766,
				F26: -4456694877565021047,
				F27: -5.526668e+08,
				F28: -3.4535696e+08,
				F29: 4.358405230142962e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "eΔ",
					Msg: "Φ",
				},
			}},
			VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_VUnionDepth2_All{{F8: {F0: VStructDepth1_VFloat32{F28: -1.760837e+09}, F1: true, F3: \"bcde\", F4: \"deΔΘΠΣ\", F5: typeobject(VSet_VEnumAbc), F6: 141, F11: {Msg: \"澤\"}, F12: {Id: \"abcdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普澤世\"}, F13: 25586, F14: 13168, F16: 3392140144, F17: 4800936644249953134, F18: 1433653936825833359, F19: 1, F20: -19, F21: -5023, F22: 5639, F23: -1001860443, F24: -638375194, F25: -2663406277260744766, F26: -4456694877565021047, F27: -5.526668e+08, F28: -3.4535696e+08, F29: 4.358405230142962e+07, F31: {}, F32: {Id: \"eΔ\", Msg: \"Φ\"}}}, {F4: {false}}}",
		Target: VArray2_VUnionDepth2_All{
			VUnionDepth2_AllF8{VStructDepth1_All{
				F0: VStructDepth1_VFloat32{
					F28: -1.760837e+09,
				},
				F1: true,
				F3: "bcde",
				F4: "deΔΘΠΣ",
				F5: __VDLType_set_62,
				F6: 141,
				F11: VNamedError{
					Msg: "澤",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠ",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "bcdeΔΘΠΣΦ王普澤世",
				}),
				F13: 25586,
				F14: 13168,
				F16: 3392140144,
				F17: 4800936644249953134,
				F18: 1433653936825833359,
				F19: 1,
				F20: -19,
				F21: -5023,
				F22: 5639,
				F23: -1001860443,
				F24: -638375194,
				F25: -2663406277260744766,
				F26: -4456694877565021047,
				F27: -5.526668e+08,
				F28: -3.4535696e+08,
				F29: 4.358405230142962e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "eΔ",
					Msg: "Φ",
				},
			}},
			VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "[]any{VUnionDepth2_All{F8: {F0: VStructDepth1_VFloat32{F28: -1.760837e+09}, F1: true, F3: \"bcde\", F4: \"deΔΘΠΣ\", F5: typeobject(VSet_VEnumAbc), F6: 141, F11: {Msg: \"澤\"}, F12: {Id: \"abcdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普澤世\"}, F13: 25586, F14: 13168, F16: 3392140144, F17: 4800936644249953134, F18: 1433653936825833359, F19: 1, F20: -19, F21: -5023, F22: 5639, F23: -1001860443, F24: -638375194, F25: -2663406277260744766, F26: -4456694877565021047, F27: -5.526668e+08, F28: -3.4535696e+08, F29: 4.358405230142962e+07, F31: {}, F32: {Id: \"eΔ\", Msg: \"Φ\"}}}, VUnionDepth2_All{F4: {false}}}",
		Source: []interface{}{
			VUnionDepth2_All(VUnionDepth2_AllF8{VStructDepth1_All{
				F0: VStructDepth1_VFloat32{
					F28: -1.760837e+09,
				},
				F1: true,
				F3: "bcde",
				F4: "deΔΘΠΣ",
				F5: __VDLType_set_62,
				F6: 141,
				F11: VNamedError{
					Msg: "澤",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠ",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "bcdeΔΘΠΣΦ王普澤世",
				}),
				F13: 25586,
				F14: 13168,
				F16: 3392140144,
				F17: 4800936644249953134,
				F18: 1433653936825833359,
				F19: 1,
				F20: -19,
				F21: -5023,
				F22: 5639,
				F23: -1001860443,
				F24: -638375194,
				F25: -2663406277260744766,
				F26: -4456694877565021047,
				F27: -5.526668e+08,
				F28: -3.4535696e+08,
				F29: 4.358405230142962e+07,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "eΔ",
					Msg: "Φ",
				},
			}}),
			VUnionDepth2_All(VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{}",
		Target:      VArray3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "VArray3_OptVStructDepth2_Set_Float64{}",
		Source:      VArray3_OptVStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{}",
		Target:      VArray3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "VArray3_Any{}",
		Source:      VArray3_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{}",
		Target:      VArray3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "[]?VStructDepth2_Set_Float64{nil, nil, nil}",
		Source: []*VStructDepth2_Set_Float64{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Target: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Source: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Target: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "[]any{?VStructDepth2_Set_Float64{F4: {1.5}}, ?VStructDepth2_Set_Float64{F4: {1.5}}, ?VStructDepth2_Set_Float64{F4: {1.5}}}",
		Source: []interface{}{
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {-7.648597175544252e+08, 0, 1.34338380400205e+09}}, {}, {F4: {-9.142569413756968e+08, 0, 1.391175727124097e+09}}}",
		Target: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-7.648597175544252e+08: struct{}{},
					0:                    struct{}{},
					1.34338380400205e+09: struct{}{},
				},
			},
			{},
			{
				F4: map[float64]struct{}{
					-9.142569413756968e+08: struct{}{},
					0: struct{}{},
					1.391175727124097e+09: struct{}{},
				},
			},
		},
		SourceLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {-7.648597175544252e+08, 0, 1.34338380400205e+09}}, {}, {F4: {-9.142569413756968e+08, 0, 1.391175727124097e+09}}}",
		Source: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-7.648597175544252e+08: struct{}{},
					0:                    struct{}{},
					1.34338380400205e+09: struct{}{},
				},
			},
			{},
			{
				F4: map[float64]struct{}{
					-9.142569413756968e+08: struct{}{},
					0: struct{}{},
					1.391175727124097e+09: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray3_OptVStructDepth2_Set_Float64{{F4: {-7.648597175544252e+08, 0, 1.34338380400205e+09}}, {}, {F4: {-9.142569413756968e+08, 0, 1.391175727124097e+09}}}",
		Target: VArray3_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-7.648597175544252e+08: struct{}{},
					0:                    struct{}{},
					1.34338380400205e+09: struct{}{},
				},
			},
			{},
			{
				F4: map[float64]struct{}{
					-9.142569413756968e+08: struct{}{},
					0: struct{}{},
					1.391175727124097e+09: struct{}{},
				},
			},
		},
		SourceLabel: "VList_Any{?VStructDepth2_Set_Float64{F4: {-7.648597175544252e+08, 0, 1.34338380400205e+09}}, ?VStructDepth2_Set_Float64{}, ?VStructDepth2_Set_Float64{F4: {-9.142569413756968e+08, 0, 1.391175727124097e+09}}}",
		Source: VList_Any{
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-7.648597175544252e+08: struct{}{},
					0:                    struct{}{},
					1.34338380400205e+09: struct{}{},
				},
			},
			&VStructDepth2_Set_Float64{},
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-9.142569413756968e+08: struct{}{},
					0: struct{}{},
					1.391175727124097e+09: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VArray1_Set_VEnumBcd{}",
		Target:      []VArray1_Set_VEnumBcd(nil),
		SourceLabel: "[]VArray1_Set_VEnumBcd{}",
		Source:      []VArray1_Set_VEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VArray1_Set_VEnumBcd{}",
		Target:      []VArray1_Set_VEnumBcd(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VArray1_Set_VEnumBcd{}",
		Target:      []VArray1_Set_VEnumBcd(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VArray1_Set_VEnumBcd{{{D}}}",
		Target: []VArray1_Set_VEnumBcd{
			{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "[]VArray1_Set_VEnumBcd{{{D}}}",
		Source: []VArray1_Set_VEnumBcd{
			{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VArray1_Set_VEnumBcd{{{D}}}",
		Target: []VArray1_Set_VEnumBcd{
			{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "[]any{VArray1_Set_VEnumBcd{{D}}}",
		Source: []interface{}{
			VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[][]VList_Error{}",
		Target:      [][]VList_Error(nil),
		SourceLabel: "[][]VList_Error{}",
		Source:      [][]VList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[][]VList_Error{}",
		Target:      [][]VList_Error(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[][]VList_Error{}",
		Target:      [][]VList_Error(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[][]VList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: [][]VList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
		SourceLabel: "[][]VList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: [][]VList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[][]VList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: [][]VList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
		SourceLabel: "[]any{[]VList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: []interface{}{
			[]VList_Error{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[][]VList_Error{{}, {{{Id: \"ΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}, {RetryCode: RetryBackoff}, {Id: \"d\", Msg: \"b\"}}, {}}, {{{}, {Id: \"abcdeΔΘΠ\", Msg: \"cdeΔΘΠΣΦ王普澤世\"}}}}",
		Target: [][]VList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:  "ΘΠΣΦ王普澤",
						Msg: "ΔΘΠΣΦ",
					}),
					verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
					}),
					verror.FromWire(&vdl.WireError{
						Id:  "d",
						Msg: "b",
					}),
				},
				nil,
			},
			{
				{
					verror.FromWire(&vdl.WireError{}),
					verror.FromWire(&vdl.WireError{
						Id:  "abcdeΔΘΠ",
						Msg: "cdeΔΘΠΣΦ王普澤世",
					}),
				},
			},
		},
		SourceLabel: "[][]VList_Error{{}, {{{Id: \"ΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}, {RetryCode: RetryBackoff}, {Id: \"d\", Msg: \"b\"}}, {}}, {{{}, {Id: \"abcdeΔΘΠ\", Msg: \"cdeΔΘΠΣΦ王普澤世\"}}}}",
		Source: [][]VList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:  "ΘΠΣΦ王普澤",
						Msg: "ΔΘΠΣΦ",
					}),
					verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
					}),
					verror.FromWire(&vdl.WireError{
						Id:  "d",
						Msg: "b",
					}),
				},
				nil,
			},
			{
				{
					verror.FromWire(&vdl.WireError{}),
					verror.FromWire(&vdl.WireError{
						Id:  "abcdeΔΘΠ",
						Msg: "cdeΔΘΠΣΦ王普澤世",
					}),
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[][]VList_Error{{}, {{{Id: \"ΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}, {RetryCode: RetryBackoff}, {Id: \"d\", Msg: \"b\"}}, {}}, {{{}, {Id: \"abcdeΔΘΠ\", Msg: \"cdeΔΘΠΣΦ王普澤世\"}}}}",
		Target: [][]VList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:  "ΘΠΣΦ王普澤",
						Msg: "ΔΘΠΣΦ",
					}),
					verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
					}),
					verror.FromWire(&vdl.WireError{
						Id:  "d",
						Msg: "b",
					}),
				},
				nil,
			},
			{
				{
					verror.FromWire(&vdl.WireError{}),
					verror.FromWire(&vdl.WireError{
						Id:  "abcdeΔΘΠ",
						Msg: "cdeΔΘΠΣΦ王普澤世",
					}),
				},
			},
		},
		SourceLabel: "[]any{[]VList_Error{}, []VList_Error{{{Id: \"ΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}, {RetryCode: RetryBackoff}, {Id: \"d\", Msg: \"b\"}}, {}}, []VList_Error{{{}, {Id: \"abcdeΔΘΠ\", Msg: \"cdeΔΘΠΣΦ王普澤世\"}}}}",
		Source: []interface{}{
			[]VList_Error(nil),
			[]VList_Error{
				{
					verror.FromWire(&vdl.WireError{
						Id:  "ΘΠΣΦ王普澤",
						Msg: "ΔΘΠΣΦ",
					}),
					verror.FromWire(&vdl.WireError{
						RetryCode: vdl.WireRetryCodeRetryBackoff,
					}),
					verror.FromWire(&vdl.WireError{
						Id:  "d",
						Msg: "b",
					}),
				},
				nil,
			},
			[]VList_Error{
				{
					verror.FromWire(&vdl.WireError{}),
					verror.FromWire(&vdl.WireError{
						Id:  "abcdeΔΘΠ",
						Msg: "cdeΔΘΠΣΦ王普澤世",
					}),
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VSet_VArray1_VStructEmpty{}",
		Target:      []VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "[]VSet_VArray1_VStructEmpty{}",
		Source:      []VSet_VArray1_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VSet_VArray1_VStructEmpty{}",
		Target:      []VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VSet_VArray1_VStructEmpty{}",
		Target:      []VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "VList_VSet_VArray1_VStructEmpty{}",
		Source:      VList_VSet_VArray1_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VSet_VArray1_VStructEmpty{{{}}}",
		Target: []VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "[]VSet_VArray1_VStructEmpty{{{}}}",
		Source: []VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VSet_VArray1_VStructEmpty{{{}}}",
		Target: []VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "VList_VSet_VArray1_VStructEmpty{{{}}}",
		Source: VList_VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      []VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "[]VMap_VArray3_VBool_VArray3_VBool{}",
		Source:      []VMap_VArray3_VBool_VArray3_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      []VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      []VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Target: []VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "[]VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Source: []VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Target: []VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Source: VList_VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VStructDepth2_All{}",
		Target:      []VStructDepth2_All(nil),
		SourceLabel: "[]VStructDepth2_All{}",
		Source:      []VStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructDepth2_All{}",
		Target:      []VStructDepth2_All(nil),
		SourceLabel: "VList_VStructDepth2_All{}",
		Source:      VList_VStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VStructDepth2_All{}",
		Target:      []VStructDepth2_All(nil),
		SourceLabel: "VList_OptVStructEmpty{}",
		Source:      VList_OptVStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]any{VStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []interface{}{
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VStructDepth2_All{{F0: {typeobject(any), typeobject(VStructDepth1_Int16)}, F1: {1264920270}, F2: {0, -7113, -12634}, F3: {VList_VString{\"ΣΦ王\", \"bc\"}, VList_VArray1_VStructEmpty{{}, {}}}, F4: {0}, F5: {B}, F7: {3156503774: 0}, F8: {F0: ?VStructEmpty{}, F3: \"普\", F4: \"ΘΠΣΦ\", F5: typeobject(VMap_Byte_Byte), F6: 176, F8: C, F11: {Id: \"ΠΣΦ\", Msg: \"eΔΘΠΣΦ王\"}, F13: 60783, F17: 16341068916218055357, F19: -62, F21: 11448, F22: -13804, F24: 12013167, F25: 779637908310744690, F27: 9.1612384e+08, F28: 8.667905e+08, F29: -1.901548848644275e+07, F30: -2.8348429384836525e+08, F31: {}}, F10: {F21: -9623}, F12: {F9: D}, F13: {F14: 5832}}}",
		Target: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_struct_104,
				},
				F1: VArray1_Uint32{
					1264920270,
				},
				F2: []int16{
					0,
					-7113,
					-12634,
				},
				F3: VList_Any{
					VList_VString{
						"ΣΦ王",
						"bc",
					},
					VList_VArray1_VStructEmpty{
						{},
						{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3156503774: 0,
				},
				F8: VStructDepth1_All{
					F0: &VStructEmpty{},
					F3: "普",
					F4: "ΘΠΣΦ",
					F5: __VDLType_map_73,
					F6: 176,
					F8: VEnumAbcC,
					F11: VNamedError{
						Id:  "ΠΣΦ",
						Msg: "eΔΘΠΣΦ王",
					},
					F13: 60783,
					F17: 16341068916218055357,
					F19: -62,
					F21: 11448,
					F22: -13804,
					F24: 12013167,
					F25: 779637908310744690,
					F27: 9.1612384e+08,
					F28: 8.667905e+08,
					F29: -1.901548848644275e+07,
					F30: -2.8348429384836525e+08,
					F31: &VStructEmpty{},
				},
				F10: VUnionDepth1_AllF21{-9623},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 5832,
				},
			},
		},
		SourceLabel: "[]VStructDepth2_All{{F0: {typeobject(any), typeobject(VStructDepth1_Int16)}, F1: {1264920270}, F2: {0, -7113, -12634}, F3: {VList_VString{\"ΣΦ王\", \"bc\"}, VList_VArray1_VStructEmpty{{}, {}}}, F4: {0}, F5: {B}, F7: {3156503774: 0}, F8: {F0: ?VStructEmpty{}, F3: \"普\", F4: \"ΘΠΣΦ\", F5: typeobject(VMap_Byte_Byte), F6: 176, F8: C, F11: {Id: \"ΠΣΦ\", Msg: \"eΔΘΠΣΦ王\"}, F13: 60783, F17: 16341068916218055357, F19: -62, F21: 11448, F22: -13804, F24: 12013167, F25: 779637908310744690, F27: 9.1612384e+08, F28: 8.667905e+08, F29: -1.901548848644275e+07, F30: -2.8348429384836525e+08, F31: {}}, F10: {F21: -9623}, F12: {F9: D}, F13: {F14: 5832}}}",
		Source: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_struct_104,
				},
				F1: VArray1_Uint32{
					1264920270,
				},
				F2: []int16{
					0,
					-7113,
					-12634,
				},
				F3: VList_Any{
					VList_VString{
						"ΣΦ王",
						"bc",
					},
					VList_VArray1_VStructEmpty{
						{},
						{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3156503774: 0,
				},
				F8: VStructDepth1_All{
					F0: &VStructEmpty{},
					F3: "普",
					F4: "ΘΠΣΦ",
					F5: __VDLType_map_73,
					F6: 176,
					F8: VEnumAbcC,
					F11: VNamedError{
						Id:  "ΠΣΦ",
						Msg: "eΔΘΠΣΦ王",
					},
					F13: 60783,
					F17: 16341068916218055357,
					F19: -62,
					F21: 11448,
					F22: -13804,
					F24: 12013167,
					F25: 779637908310744690,
					F27: 9.1612384e+08,
					F28: 8.667905e+08,
					F29: -1.901548848644275e+07,
					F30: -2.8348429384836525e+08,
					F31: &VStructEmpty{},
				},
				F10: VUnionDepth1_AllF21{-9623},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 5832,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VStructDepth2_All{{F0: {typeobject(any), typeobject(VStructDepth1_Int16)}, F1: {1264920270}, F2: {0, -7113, -12634}, F3: {VList_VString{\"ΣΦ王\", \"bc\"}, VList_VArray1_VStructEmpty{{}, {}}}, F4: {0}, F5: {B}, F7: {3156503774: 0}, F8: {F0: ?VStructEmpty{}, F3: \"普\", F4: \"ΘΠΣΦ\", F5: typeobject(VMap_Byte_Byte), F6: 176, F8: C, F11: {Id: \"ΠΣΦ\", Msg: \"eΔΘΠΣΦ王\"}, F13: 60783, F17: 16341068916218055357, F19: -62, F21: 11448, F22: -13804, F24: 12013167, F25: 779637908310744690, F27: 9.1612384e+08, F28: 8.667905e+08, F29: -1.901548848644275e+07, F30: -2.8348429384836525e+08, F31: {}}, F10: {F21: -9623}, F12: {F9: D}, F13: {F14: 5832}}}",
		Target: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_struct_104,
				},
				F1: VArray1_Uint32{
					1264920270,
				},
				F2: []int16{
					0,
					-7113,
					-12634,
				},
				F3: VList_Any{
					VList_VString{
						"ΣΦ王",
						"bc",
					},
					VList_VArray1_VStructEmpty{
						{},
						{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3156503774: 0,
				},
				F8: VStructDepth1_All{
					F0: &VStructEmpty{},
					F3: "普",
					F4: "ΘΠΣΦ",
					F5: __VDLType_map_73,
					F6: 176,
					F8: VEnumAbcC,
					F11: VNamedError{
						Id:  "ΠΣΦ",
						Msg: "eΔΘΠΣΦ王",
					},
					F13: 60783,
					F17: 16341068916218055357,
					F19: -62,
					F21: 11448,
					F22: -13804,
					F24: 12013167,
					F25: 779637908310744690,
					F27: 9.1612384e+08,
					F28: 8.667905e+08,
					F29: -1.901548848644275e+07,
					F30: -2.8348429384836525e+08,
					F31: &VStructEmpty{},
				},
				F10: VUnionDepth1_AllF21{-9623},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 5832,
				},
			},
		},
		SourceLabel: "[]any{VStructDepth2_All{F0: {typeobject(any), typeobject(VStructDepth1_Int16)}, F1: {1264920270}, F2: {0, -7113, -12634}, F3: {VList_VString{\"ΣΦ王\", \"bc\"}, VList_VArray1_VStructEmpty{{}, {}}}, F4: {0}, F5: {B}, F7: {3156503774: 0}, F8: {F0: ?VStructEmpty{}, F3: \"普\", F4: \"ΘΠΣΦ\", F5: typeobject(VMap_Byte_Byte), F6: 176, F8: C, F11: {Id: \"ΠΣΦ\", Msg: \"eΔΘΠΣΦ王\"}, F13: 60783, F17: 16341068916218055357, F19: -62, F21: 11448, F22: -13804, F24: 12013167, F25: 779637908310744690, F27: 9.1612384e+08, F28: 8.667905e+08, F29: -1.901548848644275e+07, F30: -2.8348429384836525e+08, F31: {}}, F10: {F21: -9623}, F12: {F9: D}, F13: {F14: 5832}}}",
		Source: []interface{}{
			VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_struct_104,
				},
				F1: VArray1_Uint32{
					1264920270,
				},
				F2: []int16{
					0,
					-7113,
					-12634,
				},
				F3: VList_Any{
					VList_VString{
						"ΣΦ王",
						"bc",
					},
					VList_VArray1_VStructEmpty{
						{},
						{},
					},
				},
				F4: map[float64]struct{}{
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3156503774: 0,
				},
				F8: VStructDepth1_All{
					F0: &VStructEmpty{},
					F3: "普",
					F4: "ΘΠΣΦ",
					F5: __VDLType_map_73,
					F6: 176,
					F8: VEnumAbcC,
					F11: VNamedError{
						Id:  "ΠΣΦ",
						Msg: "eΔΘΠΣΦ王",
					},
					F13: 60783,
					F17: 16341068916218055357,
					F19: -62,
					F21: 11448,
					F22: -13804,
					F24: 12013167,
					F25: 779637908310744690,
					F27: 9.1612384e+08,
					F28: 8.667905e+08,
					F29: -1.901548848644275e+07,
					F30: -2.8348429384836525e+08,
					F31: &VStructEmpty{},
				},
				F10: VUnionDepth1_AllF21{-9623},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 5832,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth2_All{}",
		Target:      []VUnionDepth2_All(nil),
		SourceLabel: "[]VUnionDepth2_All{}",
		Source:      []VUnionDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth2_All{}",
		Target:      []VUnionDepth2_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]VUnionDepth2_All{}",
		Target:      []VUnionDepth2_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: []VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Source: []VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: []VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]any{VUnionDepth2_All{F13: {F28: 1.5}}}",
		Source: []interface{}{
			VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]VUnionDepth2_All{{F7: {false: true}}, {F0: {}}, {F5: {{Id: \"eΔΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ王普\"}}}}",
		Target: []VUnionDepth2_All{
			VUnionDepth2_AllF7{VMap_VBool_VBool{
				false: true,
			}},
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF5{VSet_VNamedError{
				{
					Id:  "eΔΘΠΣΦ王普澤",
					Msg: "ΔΘΠΣΦ王普",
				}: struct{}{},
			}},
		},
		SourceLabel: "[]VUnionDepth2_All{{F7: {false: true}}, {F0: {}}, {F5: {{Id: \"eΔΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ王普\"}}}}",
		Source: []VUnionDepth2_All{
			VUnionDepth2_AllF7{VMap_VBool_VBool{
				false: true,
			}},
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF5{VSet_VNamedError{
				{
					Id:  "eΔΘΠΣΦ王普澤",
					Msg: "ΔΘΠΣΦ王普",
				}: struct{}{},
			}},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]VUnionDepth2_All{{F7: {false: true}}, {F0: {}}, {F5: {{Id: \"eΔΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ王普\"}}}}",
		Target: []VUnionDepth2_All{
			VUnionDepth2_AllF7{VMap_VBool_VBool{
				false: true,
			}},
			VUnionDepth2_AllF0{},
			VUnionDepth2_AllF5{VSet_VNamedError{
				{
					Id:  "eΔΘΠΣΦ王普澤",
					Msg: "ΔΘΠΣΦ王普",
				}: struct{}{},
			}},
		},
		SourceLabel: "VArray3_Any{VUnionDepth2_All{F7: {false: true}}, VUnionDepth2_All{F0: {}}, VUnionDepth2_All{F5: {{Id: \"eΔΘΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ王普\"}}}}",
		Source: VArray3_Any{
			VUnionDepth2_All(VUnionDepth2_AllF7{VMap_VBool_VBool{
				false: true,
			}}),
			VUnionDepth2_All(VUnionDepth2_AllF0{}),
			VUnionDepth2_All(VUnionDepth2_AllF5{VSet_VNamedError{
				{
					Id:  "eΔΘΠΣΦ王普澤",
					Msg: "ΔΘΠΣΦ王普",
				}: struct{}{},
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth2_Set_Float64{}",
		Target:      []*VStructDepth2_Set_Float64(nil),
		SourceLabel: "[]?VStructDepth2_Set_Float64{}",
		Source:      []*VStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth2_Set_Float64{}",
		Target:      []*VStructDepth2_Set_Float64(nil),
		SourceLabel: "VList_VStructDepth2_All{}",
		Source:      VList_VStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?VStructDepth2_Set_Float64{}",
		Target:      []*VStructDepth2_Set_Float64(nil),
		SourceLabel: "[]VStructDepth2_All{}",
		Source:      []VStructDepth2_All(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?VStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "[]?VStructDepth2_Set_Float64{{F4: {1.5}}}",
		Source: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?VStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VList_Any{?VStructDepth2_Set_Float64{F4: {1.5}}}",
		Source: VList_Any{
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]?VStructDepth2_Set_Float64{{F4: {-4.106420264593588e+08, -4.3626757424300224e+08, 0}}}",
		Target: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-4.106420264593588e+08:  struct{}{},
					-4.3626757424300224e+08: struct{}{},
					0: struct{}{},
				},
			},
		},
		SourceLabel: "[]?VStructDepth2_Set_Float64{{F4: {-4.106420264593588e+08, -4.3626757424300224e+08, 0}}}",
		Source: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-4.106420264593588e+08:  struct{}{},
					-4.3626757424300224e+08: struct{}{},
					0: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]?VStructDepth2_Set_Float64{{F4: {-4.106420264593588e+08, -4.3626757424300224e+08, 0}}}",
		Target: []*VStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					-4.106420264593588e+08:  struct{}{},
					-4.3626757424300224e+08: struct{}{},
					0: struct{}{},
				},
			},
		},
		SourceLabel: "VList_Any{?VStructDepth2_Set_Float64{F4: {-4.106420264593588e+08, -4.3626757424300224e+08, 0}}}",
		Source: VList_Any{
			&VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-4.106420264593588e+08:  struct{}{},
					-4.3626757424300224e+08: struct{}{},
					0: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{}",
		Target:      VList_VArray3_VUnionDepth1_All(nil),
		SourceLabel: "VList_VArray3_VUnionDepth1_All{}",
		Source:      VList_VArray3_VUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{}",
		Target:      VList_VArray3_VUnionDepth1_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{}",
		Target:      VList_VArray3_VUnionDepth1_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "VList_VArray3_VUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "[]any{VArray3_VUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: []interface{}{
			VArray3_VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{{{F8: B}, {F0: nil}, {F13: 0}}}",
		Target: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF8{VEnumAbcB},
				VUnionDepth1_AllF0{},
				VUnionDepth1_AllF13{},
			},
		},
		SourceLabel: "VList_VArray3_VUnionDepth1_All{{{F8: B}, {F0: nil}, {F13: 0}}}",
		Source: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF8{VEnumAbcB},
				VUnionDepth1_AllF0{},
				VUnionDepth1_AllF13{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VArray3_VUnionDepth1_All{{{F8: B}, {F0: nil}, {F13: 0}}}",
		Target: VList_VArray3_VUnionDepth1_All{
			{
				VUnionDepth1_AllF8{VEnumAbcB},
				VUnionDepth1_AllF0{},
				VUnionDepth1_AllF13{},
			},
		},
		SourceLabel: "VList_Any{VArray3_VUnionDepth1_All{{F8: B}, {F0: nil}, {F13: 0}}}",
		Source: VList_Any{
			VArray3_VUnionDepth1_All{
				VUnionDepth1_AllF8{VEnumAbcB},
				VUnionDepth1_AllF0{},
				VUnionDepth1_AllF13{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_List_VMap_VByte_VByte{}",
		Target:      VList_List_VMap_VByte_VByte(nil),
		SourceLabel: "VList_List_VMap_VByte_VByte{}",
		Source:      VList_List_VMap_VByte_VByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_List_VMap_VByte_VByte{}",
		Target:      VList_List_VMap_VByte_VByte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_List_VMap_VByte_VByte{}",
		Target:      VList_List_VMap_VByte_VByte(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_List_VMap_VByte_VByte{{{123: 123}}}",
		Target: VList_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "VList_List_VMap_VByte_VByte{{{123: 123}}}",
		Source: VList_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_List_VMap_VByte_VByte{{{123: 123}}}",
		Target: VList_List_VMap_VByte_VByte{
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "[]any{[]VMap_VByte_VByte{{123: 123}}}",
		Source: []interface{}{
			[]VMap_VByte_VByte{
				{
					123: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_List_VMap_VByte_VByte{{{166: 0, 231: 12, 236: 0}, {0: 255, 183: 47, 198: 125}, {0: 0, 52: 0}}}",
		Target: VList_List_VMap_VByte_VByte{
			{
				{
					166: 0,
					231: 12,
					236: 0,
				},
				{
					0:   255,
					183: 47,
					198: 125,
				},
				{
					0:  0,
					52: 0,
				},
			},
		},
		SourceLabel: "VList_List_VMap_VByte_VByte{{{166: 0, 231: 12, 236: 0}, {0: 255, 183: 47, 198: 125}, {0: 0, 52: 0}}}",
		Source: VList_List_VMap_VByte_VByte{
			{
				{
					166: 0,
					231: 12,
					236: 0,
				},
				{
					0:   255,
					183: 47,
					198: 125,
				},
				{
					0:  0,
					52: 0,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_List_VMap_VByte_VByte{{{166: 0, 231: 12, 236: 0}, {0: 255, 183: 47, 198: 125}, {0: 0, 52: 0}}}",
		Target: VList_List_VMap_VByte_VByte{
			{
				{
					166: 0,
					231: 12,
					236: 0,
				},
				{
					0:   255,
					183: 47,
					198: 125,
				},
				{
					0:  0,
					52: 0,
				},
			},
		},
		SourceLabel: "[]any{[]VMap_VByte_VByte{{166: 0, 231: 12, 236: 0}, {0: 255, 183: 47, 198: 125}, {0: 0, 52: 0}}}",
		Source: []interface{}{
			[]VMap_VByte_VByte{
				{
					166: 0,
					231: 12,
					236: 0,
				},
				{
					0:   255,
					183: 47,
					198: 125,
				},
				{
					0:  0,
					52: 0,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VSet_VArray1_VStructEmpty{}",
		Target:      VList_VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "VList_VSet_VArray1_VStructEmpty{}",
		Source:      VList_VSet_VArray1_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VSet_VArray1_VStructEmpty{}",
		Target:      VList_VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "[]VSet_VArray1_VStructEmpty{}",
		Source:      []VSet_VArray1_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VSet_VArray1_VStructEmpty{}",
		Target:      VList_VSet_VArray1_VStructEmpty(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VSet_VArray1_VStructEmpty{{{}}}",
		Target: VList_VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "VList_VSet_VArray1_VStructEmpty{{{}}}",
		Source: VList_VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VSet_VArray1_VStructEmpty{{{}}}",
		Target: VList_VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "[]VSet_VArray1_VStructEmpty{{{}}}",
		Source: []VSet_VArray1_VStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      VList_VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{}",
		Source:      VList_VMap_VArray3_VBool_VArray3_VBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      VList_VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{}",
		Target:      VList_VMap_VArray3_VBool_VArray3_VBool(nil),
		SourceLabel: "[]VMap_VArray3_VBool_VArray3_VBool{}",
		Source:      []VMap_VArray3_VBool_VArray3_VBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Target: VList_VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Source: VList_VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Target: VList_VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "[]VMap_VArray3_VBool_VArray3_VBool{{{true, true, true}: {true, true, true}}}",
		Source: []VMap_VArray3_VBool_VArray3_VBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth2_All{}",
		Target:      VList_VStructDepth2_All(nil),
		SourceLabel: "VList_VStructDepth2_All{}",
		Source:      VList_VStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth2_All{}",
		Target:      VList_VStructDepth2_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VStructDepth2_All{}",
		Target:      VList_VStructDepth2_All(nil),
		SourceLabel: "[]?VStructDepth2_Set_Float64{}",
		Source:      []*VStructDepth2_Set_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "VList_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]VStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VStructDepth2_All{{F0: {typeobject(VStructDepth1_Any), typeobject(VStructDepth2_VSet_VEnumBcd)}, F1: {2852344228}, F2: {6226, -13730, -14739}, F4: {1.0146575372763048e+09, 9.589193381210451e+08}, F5: {B, D}, F6: {0: 177}, F8: {F0: set[VUnionDepth1_VNamedError]{{F11: {}}}, F1: true, F2: true, F3: \"abcd\", F4: \"Θ\", F6: 86, F7: 54, F8: B, F12: {Id: \"ΔΘΠ\", Msg: \"ΔΘΠΣΦ\"}, F16: 1795229240, F17: 8052886347157498977, F18: 11152925981139820641, F19: -8, F20: 53, F21: -11802, F22: -3969, F23: 189643013, F24: -308771394, F25: 2792823012750469968, F26: 2797901140661400422, F27: -1.4882101e+08, F28: -1.0015032e+09, F30: 6.267675903713744e+08, F31: {}, F32: {Msg: \"ΔΘΠ\"}}, F10: {F12: {Id: \"bcdeΔΘΠΣ\", Msg: \"Φ\"}}, F12: {}, F13: {}}, {F0: {typeobject([]uint32), typeobject(any)}, F2: {0}, F3: {VUnionDepth1_VFloat64{F30: 6.286506511512573e+07}, map[VEnumAbc]VEnumAbc{B: B}, VArray3_OptVNamedError{{Id: \"d\", Msg: \"世\"}, {}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣ\"}}}, F4: {-1.757002314296858e+08}, F5: {B}, F6: {140: 52, 57: 170}, F7: {2086068135: 2615176351, 3299523734: 853200618, 3996236786: 0}, F8: {F0: VSet_VBool{false}, F1: true, F2: true, F5: typeobject([]?VStructDepth1_VEnumBcd), F6: 51, F9: C, F15: 4071038098, F17: 6010338561684120220, F18: 6523574835546476118, F19: -46, F20: -38, F21: 11203, F22: -908, F23: -147854536, F24: -980745890, F25: 1674169228161876707, F26: -3407834473795059198, F27: -7.565527e+08, F28: 1.12560536e+08, F29: -1.5147075263360175e+08, F32: {}}, F10: {F0: VSet_VUnionDepth2_VArray1_String{{F0: {\"abc\"}}, {F0: {\"ΔΘΠΣΦ王普\"}}}}}}",
		Target: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_struct_83,
					__VDLType_struct_186,
				},
				F1: VArray1_Uint32{
					2852344228,
				},
				F2: []int16{
					6226,
					-13730,
					-14739,
				},
				F4: map[float64]struct{}{
					1.0146575372763048e+09: struct{}{},
					9.589193381210451e+08:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					0: 177,
				},
				F8: VStructDepth1_All{
					F0: map[VUnionDepth1_VNamedError]struct{}{
						VUnionDepth1_VNamedErrorF11{}: struct{}{},
					},
					F1: true,
					F2: true,
					F3: "abcd",
					F4: "Θ",
					F5: vdl.AnyType,
					F6: 86,
					F7: 54,
					F8: VEnumAbcB,
					F12: verror.FromWire(&vdl.WireError{
						Id:  "ΔΘΠ",
						Msg: "ΔΘΠΣΦ",
					}),
					F16: 1795229240,
					F17: 8052886347157498977,
					F18: 11152925981139820641,
					F19: -8,
					F20: 53,
					F21: -11802,
					F22: -3969,
					F23: 189643013,
					F24: -308771394,
					F25: 2792823012750469968,
					F26: 2797901140661400422,
					F27: -1.4882101e+08,
					F28: -1.0015032e+09,
					F30: 6.267675903713744e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "ΔΘΠ",
					},
				},
				F10: VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
					Id:  "bcdeΔΘΠΣ",
					Msg: "Φ",
				})},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{},
				F13: &VStructDepth1_VUint16{},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_list_288,
					vdl.AnyType,
				},
				F2: []int16{
					0,
				},
				F3: VList_Any{
					VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{6.286506511512573e+07}),
					map[VEnumAbc]VEnumAbc{
						VEnumAbcB: VEnumAbcB,
					},
					VArray3_OptVNamedError{
						{
							Id:  "d",
							Msg: "世",
						},
						{},
						{
							Id:  "ΔΘΠΣΦ王普澤",
							Msg: "abcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.757002314296858e+08: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F6: map[byte]byte{
					140: 52,
					57:  170,
				},
				F7: map[uint32]uint32{
					2086068135: 2615176351,
					3299523734: 853200618,
					3996236786: 0,
				},
				F8: VStructDepth1_All{
					F0: VSet_VBool{
						false: struct{}{},
					},
					F1:  true,
					F2:  true,
					F5:  __VDLType_list_289,
					F6:  51,
					F9:  VEnumBcdC,
					F15: 4071038098,
					F17: 6010338561684120220,
					F18: 6523574835546476118,
					F19: -46,
					F20: -38,
					F21: 11203,
					F22: -908,
					F23: -147854536,
					F24: -980745890,
					F25: 1674169228161876707,
					F26: -3407834473795059198,
					F27: -7.565527e+08,
					F28: 1.12560536e+08,
					F29: -1.5147075263360175e+08,
					F32: &VNamedError{},
				},
				F10: VUnionDepth1_AllF0{VSet_VUnionDepth2_VArray1_String{
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"abc",
					}}: struct{}{},
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"ΔΘΠΣΦ王普",
					}}: struct{}{},
				}},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VList_VStructDepth2_All{{F0: {typeobject(VStructDepth1_Any), typeobject(VStructDepth2_VSet_VEnumBcd)}, F1: {2852344228}, F2: {6226, -13730, -14739}, F4: {1.0146575372763048e+09, 9.589193381210451e+08}, F5: {B, D}, F6: {0: 177}, F8: {F0: set[VUnionDepth1_VNamedError]{{F11: {}}}, F1: true, F2: true, F3: \"abcd\", F4: \"Θ\", F6: 86, F7: 54, F8: B, F12: {Id: \"ΔΘΠ\", Msg: \"ΔΘΠΣΦ\"}, F16: 1795229240, F17: 8052886347157498977, F18: 11152925981139820641, F19: -8, F20: 53, F21: -11802, F22: -3969, F23: 189643013, F24: -308771394, F25: 2792823012750469968, F26: 2797901140661400422, F27: -1.4882101e+08, F28: -1.0015032e+09, F30: 6.267675903713744e+08, F31: {}, F32: {Msg: \"ΔΘΠ\"}}, F10: {F12: {Id: \"bcdeΔΘΠΣ\", Msg: \"Φ\"}}, F12: {}, F13: {}}, {F0: {typeobject([]uint32), typeobject(any)}, F2: {0}, F3: {VUnionDepth1_VFloat64{F30: 6.286506511512573e+07}, map[VEnumAbc]VEnumAbc{B: B}, VArray3_OptVNamedError{{Id: \"d\", Msg: \"世\"}, {}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣ\"}}}, F4: {-1.757002314296858e+08}, F5: {B}, F6: {140: 52, 57: 170}, F7: {2086068135: 2615176351, 3299523734: 853200618, 3996236786: 0}, F8: {F0: VSet_VBool{false}, F1: true, F2: true, F5: typeobject([]?VStructDepth1_VEnumBcd), F6: 51, F9: C, F15: 4071038098, F17: 6010338561684120220, F18: 6523574835546476118, F19: -46, F20: -38, F21: 11203, F22: -908, F23: -147854536, F24: -980745890, F25: 1674169228161876707, F26: -3407834473795059198, F27: -7.565527e+08, F28: 1.12560536e+08, F29: -1.5147075263360175e+08, F32: {}}, F10: {F0: VSet_VUnionDepth2_VArray1_String{{F0: {\"abc\"}}, {F0: {\"ΔΘΠΣΦ王普\"}}}}}}",
		Source: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_struct_83,
					__VDLType_struct_186,
				},
				F1: VArray1_Uint32{
					2852344228,
				},
				F2: []int16{
					6226,
					-13730,
					-14739,
				},
				F4: map[float64]struct{}{
					1.0146575372763048e+09: struct{}{},
					9.589193381210451e+08:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					0: 177,
				},
				F8: VStructDepth1_All{
					F0: map[VUnionDepth1_VNamedError]struct{}{
						VUnionDepth1_VNamedErrorF11{}: struct{}{},
					},
					F1: true,
					F2: true,
					F3: "abcd",
					F4: "Θ",
					F5: vdl.AnyType,
					F6: 86,
					F7: 54,
					F8: VEnumAbcB,
					F12: verror.FromWire(&vdl.WireError{
						Id:  "ΔΘΠ",
						Msg: "ΔΘΠΣΦ",
					}),
					F16: 1795229240,
					F17: 8052886347157498977,
					F18: 11152925981139820641,
					F19: -8,
					F20: 53,
					F21: -11802,
					F22: -3969,
					F23: 189643013,
					F24: -308771394,
					F25: 2792823012750469968,
					F26: 2797901140661400422,
					F27: -1.4882101e+08,
					F28: -1.0015032e+09,
					F30: 6.267675903713744e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "ΔΘΠ",
					},
				},
				F10: VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
					Id:  "bcdeΔΘΠΣ",
					Msg: "Φ",
				})},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{},
				F13: &VStructDepth1_VUint16{},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_list_288,
					vdl.AnyType,
				},
				F2: []int16{
					0,
				},
				F3: VList_Any{
					VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{6.286506511512573e+07}),
					map[VEnumAbc]VEnumAbc{
						VEnumAbcB: VEnumAbcB,
					},
					VArray3_OptVNamedError{
						{
							Id:  "d",
							Msg: "世",
						},
						{},
						{
							Id:  "ΔΘΠΣΦ王普澤",
							Msg: "abcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.757002314296858e+08: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F6: map[byte]byte{
					140: 52,
					57:  170,
				},
				F7: map[uint32]uint32{
					2086068135: 2615176351,
					3299523734: 853200618,
					3996236786: 0,
				},
				F8: VStructDepth1_All{
					F0: VSet_VBool{
						false: struct{}{},
					},
					F1:  true,
					F2:  true,
					F5:  __VDLType_list_289,
					F6:  51,
					F9:  VEnumBcdC,
					F15: 4071038098,
					F17: 6010338561684120220,
					F18: 6523574835546476118,
					F19: -46,
					F20: -38,
					F21: 11203,
					F22: -908,
					F23: -147854536,
					F24: -980745890,
					F25: 1674169228161876707,
					F26: -3407834473795059198,
					F27: -7.565527e+08,
					F28: 1.12560536e+08,
					F29: -1.5147075263360175e+08,
					F32: &VNamedError{},
				},
				F10: VUnionDepth1_AllF0{VSet_VUnionDepth2_VArray1_String{
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"abc",
					}}: struct{}{},
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"ΔΘΠΣΦ王普",
					}}: struct{}{},
				}},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VStructDepth2_All{{F0: {typeobject(VStructDepth1_Any), typeobject(VStructDepth2_VSet_VEnumBcd)}, F1: {2852344228}, F2: {6226, -13730, -14739}, F4: {1.0146575372763048e+09, 9.589193381210451e+08}, F5: {B, D}, F6: {0: 177}, F8: {F0: set[VUnionDepth1_VNamedError]{{F11: {}}}, F1: true, F2: true, F3: \"abcd\", F4: \"Θ\", F6: 86, F7: 54, F8: B, F12: {Id: \"ΔΘΠ\", Msg: \"ΔΘΠΣΦ\"}, F16: 1795229240, F17: 8052886347157498977, F18: 11152925981139820641, F19: -8, F20: 53, F21: -11802, F22: -3969, F23: 189643013, F24: -308771394, F25: 2792823012750469968, F26: 2797901140661400422, F27: -1.4882101e+08, F28: -1.0015032e+09, F30: 6.267675903713744e+08, F31: {}, F32: {Msg: \"ΔΘΠ\"}}, F10: {F12: {Id: \"bcdeΔΘΠΣ\", Msg: \"Φ\"}}, F12: {}, F13: {}}, {F0: {typeobject([]uint32), typeobject(any)}, F2: {0}, F3: {VUnionDepth1_VFloat64{F30: 6.286506511512573e+07}, map[VEnumAbc]VEnumAbc{B: B}, VArray3_OptVNamedError{{Id: \"d\", Msg: \"世\"}, {}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣ\"}}}, F4: {-1.757002314296858e+08}, F5: {B}, F6: {140: 52, 57: 170}, F7: {2086068135: 2615176351, 3299523734: 853200618, 3996236786: 0}, F8: {F0: VSet_VBool{false}, F1: true, F2: true, F5: typeobject([]?VStructDepth1_VEnumBcd), F6: 51, F9: C, F15: 4071038098, F17: 6010338561684120220, F18: 6523574835546476118, F19: -46, F20: -38, F21: 11203, F22: -908, F23: -147854536, F24: -980745890, F25: 1674169228161876707, F26: -3407834473795059198, F27: -7.565527e+08, F28: 1.12560536e+08, F29: -1.5147075263360175e+08, F32: {}}, F10: {F0: VSet_VUnionDepth2_VArray1_String{{F0: {\"abc\"}}, {F0: {\"ΔΘΠΣΦ王普\"}}}}}}",
		Target: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_struct_83,
					__VDLType_struct_186,
				},
				F1: VArray1_Uint32{
					2852344228,
				},
				F2: []int16{
					6226,
					-13730,
					-14739,
				},
				F4: map[float64]struct{}{
					1.0146575372763048e+09: struct{}{},
					9.589193381210451e+08:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					0: 177,
				},
				F8: VStructDepth1_All{
					F0: map[VUnionDepth1_VNamedError]struct{}{
						VUnionDepth1_VNamedErrorF11{}: struct{}{},
					},
					F1: true,
					F2: true,
					F3: "abcd",
					F4: "Θ",
					F5: vdl.AnyType,
					F6: 86,
					F7: 54,
					F8: VEnumAbcB,
					F12: verror.FromWire(&vdl.WireError{
						Id:  "ΔΘΠ",
						Msg: "ΔΘΠΣΦ",
					}),
					F16: 1795229240,
					F17: 8052886347157498977,
					F18: 11152925981139820641,
					F19: -8,
					F20: 53,
					F21: -11802,
					F22: -3969,
					F23: 189643013,
					F24: -308771394,
					F25: 2792823012750469968,
					F26: 2797901140661400422,
					F27: -1.4882101e+08,
					F28: -1.0015032e+09,
					F30: 6.267675903713744e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "ΔΘΠ",
					},
				},
				F10: VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
					Id:  "bcdeΔΘΠΣ",
					Msg: "Φ",
				})},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{},
				F13: &VStructDepth1_VUint16{},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_list_288,
					vdl.AnyType,
				},
				F2: []int16{
					0,
				},
				F3: VList_Any{
					VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{6.286506511512573e+07}),
					map[VEnumAbc]VEnumAbc{
						VEnumAbcB: VEnumAbcB,
					},
					VArray3_OptVNamedError{
						{
							Id:  "d",
							Msg: "世",
						},
						{},
						{
							Id:  "ΔΘΠΣΦ王普澤",
							Msg: "abcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.757002314296858e+08: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F6: map[byte]byte{
					140: 52,
					57:  170,
				},
				F7: map[uint32]uint32{
					2086068135: 2615176351,
					3299523734: 853200618,
					3996236786: 0,
				},
				F8: VStructDepth1_All{
					F0: VSet_VBool{
						false: struct{}{},
					},
					F1:  true,
					F2:  true,
					F5:  __VDLType_list_289,
					F6:  51,
					F9:  VEnumBcdC,
					F15: 4071038098,
					F17: 6010338561684120220,
					F18: 6523574835546476118,
					F19: -46,
					F20: -38,
					F21: 11203,
					F22: -908,
					F23: -147854536,
					F24: -980745890,
					F25: 1674169228161876707,
					F26: -3407834473795059198,
					F27: -7.565527e+08,
					F28: 1.12560536e+08,
					F29: -1.5147075263360175e+08,
					F32: &VNamedError{},
				},
				F10: VUnionDepth1_AllF0{VSet_VUnionDepth2_VArray1_String{
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"abc",
					}}: struct{}{},
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"ΔΘΠΣΦ王普",
					}}: struct{}{},
				}},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VArray2_VStructDepth2_All{{F0: {typeobject(VStructDepth1_Any), typeobject(VStructDepth2_VSet_VEnumBcd)}, F1: {2852344228}, F2: {6226, -13730, -14739}, F4: {1.0146575372763048e+09, 9.589193381210451e+08}, F5: {B, D}, F6: {0: 177}, F8: {F0: set[VUnionDepth1_VNamedError]{{F11: {}}}, F1: true, F2: true, F3: \"abcd\", F4: \"Θ\", F6: 86, F7: 54, F8: B, F12: {Id: \"ΔΘΠ\", Msg: \"ΔΘΠΣΦ\"}, F16: 1795229240, F17: 8052886347157498977, F18: 11152925981139820641, F19: -8, F20: 53, F21: -11802, F22: -3969, F23: 189643013, F24: -308771394, F25: 2792823012750469968, F26: 2797901140661400422, F27: -1.4882101e+08, F28: -1.0015032e+09, F30: 6.267675903713744e+08, F31: {}, F32: {Msg: \"ΔΘΠ\"}}, F10: {F12: {Id: \"bcdeΔΘΠΣ\", Msg: \"Φ\"}}, F12: {}, F13: {}}, {F0: {typeobject([]uint32), typeobject(any)}, F2: {0}, F3: {VUnionDepth1_VFloat64{F30: 6.286506511512573e+07}, map[VEnumAbc]VEnumAbc{B: B}, VArray3_OptVNamedError{{Id: \"d\", Msg: \"世\"}, {}, {Id: \"ΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣ\"}}}, F4: {-1.757002314296858e+08}, F5: {B}, F6: {140: 52, 57: 170}, F7: {2086068135: 2615176351, 3299523734: 853200618, 3996236786: 0}, F8: {F0: VSet_VBool{false}, F1: true, F2: true, F5: typeobject([]?VStructDepth1_VEnumBcd), F6: 51, F9: C, F15: 4071038098, F17: 6010338561684120220, F18: 6523574835546476118, F19: -46, F20: -38, F21: 11203, F22: -908, F23: -147854536, F24: -980745890, F25: 1674169228161876707, F26: -3407834473795059198, F27: -7.565527e+08, F28: 1.12560536e+08, F29: -1.5147075263360175e+08, F32: {}}, F10: {F0: VSet_VUnionDepth2_VArray1_String{{F0: {\"abc\"}}, {F0: {\"ΔΘΠΣΦ王普\"}}}}}}",
		Source: VArray2_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					__VDLType_struct_83,
					__VDLType_struct_186,
				},
				F1: VArray1_Uint32{
					2852344228,
				},
				F2: []int16{
					6226,
					-13730,
					-14739,
				},
				F4: map[float64]struct{}{
					1.0146575372763048e+09: struct{}{},
					9.589193381210451e+08:  struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					0: 177,
				},
				F8: VStructDepth1_All{
					F0: map[VUnionDepth1_VNamedError]struct{}{
						VUnionDepth1_VNamedErrorF11{}: struct{}{},
					},
					F1: true,
					F2: true,
					F3: "abcd",
					F4: "Θ",
					F5: vdl.AnyType,
					F6: 86,
					F7: 54,
					F8: VEnumAbcB,
					F12: verror.FromWire(&vdl.WireError{
						Id:  "ΔΘΠ",
						Msg: "ΔΘΠΣΦ",
					}),
					F16: 1795229240,
					F17: 8052886347157498977,
					F18: 11152925981139820641,
					F19: -8,
					F20: 53,
					F21: -11802,
					F22: -3969,
					F23: 189643013,
					F24: -308771394,
					F25: 2792823012750469968,
					F26: 2797901140661400422,
					F27: -1.4882101e+08,
					F28: -1.0015032e+09,
					F30: 6.267675903713744e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "ΔΘΠ",
					},
				},
				F10: VUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
					Id:  "bcdeΔΘΠΣ",
					Msg: "Φ",
				})},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{},
				F13: &VStructDepth1_VUint16{},
			},
			{
				F0: VArray2_TypeObject{
					__VDLType_list_288,
					vdl.AnyType,
				},
				F2: []int16{
					0,
				},
				F3: VList_Any{
					VUnionDepth1_VFloat64(VUnionDepth1_VFloat64F30{6.286506511512573e+07}),
					map[VEnumAbc]VEnumAbc{
						VEnumAbcB: VEnumAbcB,
					},
					VArray3_OptVNamedError{
						{
							Id:  "d",
							Msg: "世",
						},
						{},
						{
							Id:  "ΔΘΠΣΦ王普澤",
							Msg: "abcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.757002314296858e+08: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
				},
				F6: map[byte]byte{
					140: 52,
					57:  170,
				},
				F7: map[uint32]uint32{
					2086068135: 2615176351,
					3299523734: 853200618,
					3996236786: 0,
				},
				F8: VStructDepth1_All{
					F0: VSet_VBool{
						false: struct{}{},
					},
					F1:  true,
					F2:  true,
					F5:  __VDLType_list_289,
					F6:  51,
					F9:  VEnumBcdC,
					F15: 4071038098,
					F17: 6010338561684120220,
					F18: 6523574835546476118,
					F19: -46,
					F20: -38,
					F21: 11203,
					F22: -908,
					F23: -147854536,
					F24: -980745890,
					F25: 1674169228161876707,
					F26: -3407834473795059198,
					F27: -7.565527e+08,
					F28: 1.12560536e+08,
					F29: -1.5147075263360175e+08,
					F32: &VNamedError{},
				},
				F10: VUnionDepth1_AllF0{VSet_VUnionDepth2_VArray1_String{
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"abc",
					}}: struct{}{},
					VUnionDepth2_VArray1_StringF0{VArray1_String{
						"ΔΘΠΣΦ王普",
					}}: struct{}{},
				}},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth2_All{}",
		Target:      VList_VUnionDepth2_All(nil),
		SourceLabel: "VList_VUnionDepth2_All{}",
		Source:      VList_VUnionDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth2_All{}",
		Target:      VList_VUnionDepth2_All(nil),
		SourceLabel: "VList_Any{}",
		Source:      VList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_VUnionDepth2_All{}",
		Target:      VList_VUnionDepth2_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: VList_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "VList_VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Source: VList_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_VUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: VList_VUnionDepth2_All{
			VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]any{VUnionDepth2_All{F13: {F28: 1.5}}}",
		Source: []interface{}{
			VUnionDepth2_All(VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_VUnionDepth2_All{{F0: {}}}",
		Target: VList_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
		},
		SourceLabel: "VList_VUnionDepth2_All{{F0: {}}}",
		Source: VList_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_VUnionDepth2_All{{F0: {}}}",
		Target: VList_VUnionDepth2_All{
			VUnionDepth2_AllF0{},
		},
		SourceLabel: "VList_Any{VUnionDepth2_All{F0: {}}}",
		Source: VList_Any{
			VUnionDepth2_All(VUnionDepth2_AllF0{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{}",
		Target:      VList_OptVStructDepth2_Set_Float64(nil),
		SourceLabel: "VList_OptVStructDepth2_Set_Float64{}",
		Source:      VList_OptVStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{}",
		Target:      VList_OptVStructDepth2_Set_Float64(nil),
		SourceLabel: "[]?VStructEmpty{}",
		Source:      []*VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{}",
		Target:      VList_OptVStructDepth2_Set_Float64(nil),
		SourceLabel: "VList_VStructEmpty{}",
		Source:      VList_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: VList_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VList_OptVStructDepth2_Set_Float64{{F4: {1.5}}}",
		Source: VList_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: VList_OptVStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VList_VStructDepth2_All{{F4: {1.5}}}",
		Source: VList_VStructDepth2_All{
			{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{{}, nil}",
		Target: VList_OptVStructDepth2_Set_Float64{
			{},
			nil,
		},
		SourceLabel: "VList_OptVStructDepth2_Set_Float64{{}, nil}",
		Source: VList_OptVStructDepth2_Set_Float64{
			{},
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_OptVStructDepth2_Set_Float64{{}, nil}",
		Target: VList_OptVStructDepth2_Set_Float64{
			{},
			nil,
		},
		SourceLabel: "VList_OptVStructEmpty{{}, nil}",
		Source: VList_OptVStructEmpty{
			{},
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VArray1_VArray3_Int64]{}",
		Target:      map[VArray1_VArray3_Int64]struct{}(nil),
		SourceLabel: "set[VArray1_VArray3_Int64]{}",
		Source:      map[VArray1_VArray3_Int64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VArray1_VArray3_Int64]{}",
		Target:      map[VArray1_VArray3_Int64]struct{}(nil),
		SourceLabel: "VSet_VArray1_VArray3_Int64{}",
		Source:      VSet_VArray1_VArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VArray1_VArray3_Int64]{{{-123, -123, -123}}}",
		Target: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VArray1_VArray3_Int64]{{{-123, -123, -123}}}",
		Source: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VArray1_VArray3_Int64]{{{-123, -123, -123}}}",
		Target: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VArray1_VArray3_Int64{{{-123, -123, -123}}}",
		Source: VSet_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VArray1_VArray3_Int64]{{{-4470894919113206637, 0, -2119333667702404185}}, {{0, -1703399565817978280, 0}}}",
		Target: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-4470894919113206637,
					0,
					-2119333667702404185,
				},
			}: struct{}{},
			{
				{
					0,
					-1703399565817978280,
					0,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VArray1_VArray3_Int64]{{{-4470894919113206637, 0, -2119333667702404185}}, {{0, -1703399565817978280, 0}}}",
		Source: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-4470894919113206637,
					0,
					-2119333667702404185,
				},
			}: struct{}{},
			{
				{
					0,
					-1703399565817978280,
					0,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VArray1_VArray3_Int64]{{{-4470894919113206637, 0, -2119333667702404185}}, {{0, -1703399565817978280, 0}}}",
		Target: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-4470894919113206637,
					0,
					-2119333667702404185,
				},
			}: struct{}{},
			{
				{
					0,
					-1703399565817978280,
					0,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VArray1_VArray3_Int64{{{-4470894919113206637, 0, -2119333667702404185}}, {{0, -1703399565817978280, 0}}}",
		Source: VSet_VArray1_VArray3_Int64{
			{
				{
					-4470894919113206637,
					0,
					-2119333667702404185,
				},
			}: struct{}{},
			{
				{
					0,
					-1703399565817978280,
					0,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Target:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
		SourceLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Source:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Target:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Target:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
		SourceLabel: "set[VStructEmpty]{}",
		Source:      map[VStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VStructDepth2_VStructDepth1_Bool]{{F9: {F1: true}}}",
		Target: map[VStructDepth2_VStructDepth1_Bool]struct{}{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VStructDepth2_VStructDepth1_Bool]{{F9: {F1: true}}}",
		Source: map[VStructDepth2_VStructDepth1_Bool]struct{}{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VStructDepth2_VStructDepth1_Bool]{{F9: {F1: true}}}",
		Target: map[VStructDepth2_VStructDepth1_Bool]struct{}{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VStructDepth2_VStructDepth1_Bool{{F9: {F1: true}}}",
		Source: VSet_VStructDepth2_VStructDepth1_Bool{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{}",
		Target:      map[VUnionDepth2_VArray1_String]struct{}(nil),
		SourceLabel: "set[VUnionDepth2_VArray1_String]{}",
		Source:      map[VUnionDepth2_VArray1_String]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{}",
		Target:      map[VUnionDepth2_VArray1_String]struct{}(nil),
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{}",
		Source:      VSet_VUnionDepth2_VArray1_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"ΔΘΠΣΦ王\"}}, {F0: {\"ΠΣΦ\"}}, {F0: {\"ΣΦ王普澤世\"}}}",
		Target: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΔΘΠΣΦ王",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΠΣΦ",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΣΦ王普澤世",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"ΔΘΠΣΦ王\"}}, {F0: {\"ΠΣΦ\"}}, {F0: {\"ΣΦ王普澤世\"}}}",
		Source: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΔΘΠΣΦ王",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΠΣΦ",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΣΦ王普澤世",
			}}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"ΔΘΠΣΦ王\"}}, {F0: {\"ΠΣΦ\"}}, {F0: {\"ΣΦ王普澤世\"}}}",
		Target: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΔΘΠΣΦ王",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΠΣΦ",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΣΦ王普澤世",
			}}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {\"ΔΘΠΣΦ王\"}}, {F0: {\"ΠΣΦ\"}}, {F0: {\"ΣΦ王普澤世\"}}}",
		Source: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΔΘΠΣΦ王",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΠΣΦ",
			}}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"ΣΦ王普澤世",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VArray1_VArray3_Int64{}",
		Target:      VSet_VArray1_VArray3_Int64(nil),
		SourceLabel: "VSet_VArray1_VArray3_Int64{}",
		Source:      VSet_VArray1_VArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VArray1_VArray3_Int64{}",
		Target:      VSet_VArray1_VArray3_Int64(nil),
		SourceLabel: "set[VArray1_VArray3_Int64]{}",
		Source:      map[VArray1_VArray3_Int64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VArray1_VArray3_Int64{{{-123, -123, -123}}}",
		Target: VSet_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VArray1_VArray3_Int64{{{-123, -123, -123}}}",
		Source: VSet_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VArray1_VArray3_Int64{{{-123, -123, -123}}}",
		Target: VSet_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VArray1_VArray3_Int64]{{{-123, -123, -123}}}",
		Source: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VArray1_VArray3_Int64{{{-2035807833907368457, -2288391145708108360, -4207036291952262741}}, {{0, 4371541142672217430, 0}}, {{4092751625765097463, 2744298937546551751, -760234479958146472}}}",
		Target: VSet_VArray1_VArray3_Int64{
			{
				{
					-2035807833907368457,
					-2288391145708108360,
					-4207036291952262741,
				},
			}: struct{}{},
			{
				{
					0,
					4371541142672217430,
					0,
				},
			}: struct{}{},
			{
				{
					4092751625765097463,
					2744298937546551751,
					-760234479958146472,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VArray1_VArray3_Int64{{{-2035807833907368457, -2288391145708108360, -4207036291952262741}}, {{0, 4371541142672217430, 0}}, {{4092751625765097463, 2744298937546551751, -760234479958146472}}}",
		Source: VSet_VArray1_VArray3_Int64{
			{
				{
					-2035807833907368457,
					-2288391145708108360,
					-4207036291952262741,
				},
			}: struct{}{},
			{
				{
					0,
					4371541142672217430,
					0,
				},
			}: struct{}{},
			{
				{
					4092751625765097463,
					2744298937546551751,
					-760234479958146472,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VArray1_VArray3_Int64{{{-2035807833907368457, -2288391145708108360, -4207036291952262741}}, {{0, 4371541142672217430, 0}}, {{4092751625765097463, 2744298937546551751, -760234479958146472}}}",
		Target: VSet_VArray1_VArray3_Int64{
			{
				{
					-2035807833907368457,
					-2288391145708108360,
					-4207036291952262741,
				},
			}: struct{}{},
			{
				{
					0,
					4371541142672217430,
					0,
				},
			}: struct{}{},
			{
				{
					4092751625765097463,
					2744298937546551751,
					-760234479958146472,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VArray1_VArray3_Int64]{{{-2035807833907368457, -2288391145708108360, -4207036291952262741}}, {{0, 4371541142672217430, 0}}, {{4092751625765097463, 2744298937546551751, -760234479958146472}}}",
		Source: map[VArray1_VArray3_Int64]struct{}{
			{
				{
					-2035807833907368457,
					-2288391145708108360,
					-4207036291952262741,
				},
			}: struct{}{},
			{
				{
					0,
					4371541142672217430,
					0,
				},
			}: struct{}{},
			{
				{
					4092751625765097463,
					2744298937546551751,
					-760234479958146472,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Target:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
		SourceLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Source:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Target:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
		SourceLabel: "set[VStructDepth2_VStructDepth1_Bool]{}",
		Source:      map[VStructDepth2_VStructDepth1_Bool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VStructDepth2_VStructDepth1_Bool{}",
		Target:      VSet_VStructDepth2_VStructDepth1_Bool(nil),
		SourceLabel: "VSet_VStructEmpty{}",
		Source:      VSet_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VStructDepth2_VStructDepth1_Bool{{F9: {F1: true}}}",
		Target: VSet_VStructDepth2_VStructDepth1_Bool{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "VSet_VStructDepth2_VStructDepth1_Bool{{F9: {F1: true}}}",
		Source: VSet_VStructDepth2_VStructDepth1_Bool{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VStructDepth2_VStructDepth1_Bool{{F9: {F1: true}}}",
		Target: VSet_VStructDepth2_VStructDepth1_Bool{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "set[VStructDepth2_VStructDepth1_Bool]{{F9: {F1: true}}}",
		Source: map[VStructDepth2_VStructDepth1_Bool]struct{}{
			{
				F9: VStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{}",
		Target:      VSet_VUnionDepth2_VArray1_String(nil),
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{}",
		Source:      VSet_VUnionDepth2_VArray1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{}",
		Target:      VSet_VUnionDepth2_VArray1_String(nil),
		SourceLabel: "set[VUnionDepth2_VArray1_String]{}",
		Source:      map[VUnionDepth2_VArray1_String]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth2_VArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {}}, {F0: {\"世界\"}}}",
		Target: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"世界",
			}}: struct{}{},
		},
		SourceLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {}}, {F0: {\"世界\"}}}",
		Source: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"世界",
			}}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VSet_VUnionDepth2_VArray1_String{{F0: {}}, {F0: {\"世界\"}}}",
		Target: VSet_VUnionDepth2_VArray1_String{
			VUnionDepth2_VArray1_StringF0{}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"世界",
			}}: struct{}{},
		},
		SourceLabel: "set[VUnionDepth2_VArray1_String]{{F0: {}}, {F0: {\"世界\"}}}",
		Source: map[VUnionDepth2_VArray1_String]struct{}{
			VUnionDepth2_VArray1_StringF0{}: struct{}{},
			VUnionDepth2_VArray1_StringF0{VArray1_String{
				"世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{}",
		Target:      map[VArray1_VArray3_Int64]VArray1_VArray3_Int64(nil),
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{}",
		Source:      map[VArray1_VArray3_Int64]VArray1_VArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{}",
		Target:      map[VArray1_VArray3_Int64]VArray1_VArray3_Int64(nil),
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{}",
		Source:      VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{}: {}}",
		Target: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{}: {},
		},
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{}: {}}",
		Source: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{}: {},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{}: {}}",
		Target: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{}: {},
		},
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{}: {}}",
		Source: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{}",
		Target:      map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64(nil),
		SourceLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{}",
		Source:      map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{}",
		Target:      map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{}",
		Target:      map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{{F11: {F29: 1.5}}: {F11: {F29: 1.5}}}",
		Target: map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{
			{
				F11: VUnionDepth1_Float64F29{1.5},
			}: {
				F11: VUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{{F11: {F29: 1.5}}: {F11: {F29: 1.5}}}",
		Source: map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{
			{
				F11: VUnionDepth1_Float64F29{1.5},
			}: {
				F11: VUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{{F11: {F29: -6.371127049036963e+08}}: {F11: {F29: -9.722650581730351e+08}}, {}: {F11: {F29: 3.035295342149691e+09}}, {F11: {F29: 7.747000902018925e+08}}: {F11: {F29: -3.441646204986067e+08}}}",
		Target: map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{
			{
				F11: VUnionDepth1_Float64F29{-6.371127049036963e+08},
			}: {
				F11: VUnionDepth1_Float64F29{-9.722650581730351e+08},
			},
			{
				F11: VUnionDepth1_Float64F29{},
			}: {
				F11: VUnionDepth1_Float64F29{3.035295342149691e+09},
			},
			{
				F11: VUnionDepth1_Float64F29{7.747000902018925e+08},
			}: {
				F11: VUnionDepth1_Float64F29{-3.441646204986067e+08},
			},
		},
		SourceLabel: "map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{{F11: {F29: -6.371127049036963e+08}}: {F11: {F29: -9.722650581730351e+08}}, {}: {F11: {F29: 3.035295342149691e+09}}, {F11: {F29: 7.747000902018925e+08}}: {F11: {F29: -3.441646204986067e+08}}}",
		Source: map[VStructDepth2_VUnionDepth1_Float64]VStructDepth2_VUnionDepth1_Float64{
			{
				F11: VUnionDepth1_Float64F29{-6.371127049036963e+08},
			}: {
				F11: VUnionDepth1_Float64F29{-9.722650581730351e+08},
			},
			{
				F11: VUnionDepth1_Float64F29{},
			}: {
				F11: VUnionDepth1_Float64F29{3.035295342149691e+09},
			},
			{
				F11: VUnionDepth1_Float64F29{7.747000902018925e+08},
			}: {
				F11: VUnionDepth1_Float64F29{-3.441646204986067e+08},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{}",
		Target:      map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8(nil),
		SourceLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{}",
		Source:      map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{{F9: {F19: -123}}: {F9: {F19: -123}}}",
		Target: map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{
			VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -123,
			}}: VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -123,
			}},
		},
		SourceLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{{F9: {F19: -123}}: {F9: {F19: -123}}}",
		Source: map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{
			VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -123,
			}}: VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -123,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{{F9: {F19: -38}}: {F9: {}}, {F9: {}}: {F9: {F19: -35}}}",
		Target: map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{
			VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -38,
			}}: VUnionDepth2_VStructDepth1_Int8F9{},
			VUnionDepth2_VStructDepth1_Int8F9{}: VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -35,
			}},
		},
		SourceLabel: "map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{{F9: {F19: -38}}: {F9: {}}, {F9: {}}: {F9: {F19: -35}}}",
		Source: map[VUnionDepth2_VStructDepth1_Int8]VUnionDepth2_VStructDepth1_Int8{
			VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -38,
			}}: VUnionDepth2_VStructDepth1_Int8F9{},
			VUnionDepth2_VStructDepth1_Int8F9{}: VUnionDepth2_VStructDepth1_Int8F9{VStructDepth1_Int8{
				F19: -35,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{}",
		Target:      VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64(nil),
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{}",
		Source:      VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{}",
		Target:      VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64(nil),
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{}",
		Source:      map[VArray1_VArray3_Int64]VArray1_VArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{}: {{2616124862496947504, -1419252331286077049, 0}}, {{3664679055585817450, -63297519567618320, 0}}: {}}",
		Target: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{}: {
				{
					2616124862496947504,
					-1419252331286077049,
					0,
				},
			},
			{
				{
					3664679055585817450,
					-63297519567618320,
					0,
				},
			}: {},
		},
		SourceLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{}: {{2616124862496947504, -1419252331286077049, 0}}, {{3664679055585817450, -63297519567618320, 0}}: {}}",
		Source: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{}: {
				{
					2616124862496947504,
					-1419252331286077049,
					0,
				},
			},
			{
				{
					3664679055585817450,
					-63297519567618320,
					0,
				},
			}: {},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{{}: {{2616124862496947504, -1419252331286077049, 0}}, {{3664679055585817450, -63297519567618320, 0}}: {}}",
		Target: VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64{
			{}: {
				{
					2616124862496947504,
					-1419252331286077049,
					0,
				},
			},
			{
				{
					3664679055585817450,
					-63297519567618320,
					0,
				},
			}: {},
		},
		SourceLabel: "map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{{}: {{2616124862496947504, -1419252331286077049, 0}}, {{3664679055585817450, -63297519567618320, 0}}: {}}",
		Source: map[VArray1_VArray3_Int64]VArray1_VArray3_Int64{
			{}: {
				{
					2616124862496947504,
					-1419252331286077049,
					0,
				},
			},
			{
				{
					3664679055585817450,
					-63297519567618320,
					0,
				},
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{}",
		Target:      VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32(nil),
		SourceLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{}",
		Source:      VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{}",
		Target:      VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32(nil),
		SourceLabel: "map[VStructEmpty]VStructEmpty{}",
		Source:      map[VStructEmpty]VStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{}",
		Target:      VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32(nil),
		SourceLabel: "VMap_VStructEmpty_VStructEmpty{}",
		Source:      VMap_VStructEmpty_VStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{{F1: {123}}: {F1: {123}}}",
		Target: VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{
			{
				F1: VArray1_Uint32{
					123,
				},
			}: {
				F1: VArray1_Uint32{
					123,
				},
			},
		},
		SourceLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{{F1: {123}}: {F1: {123}}}",
		Source: VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{
			{
				F1: VArray1_Uint32{
					123,
				},
			}: {
				F1: VArray1_Uint32{
					123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{{F1: {165369656}}: {F1: {3607576357}}, {F1: {4291126240}}: {}}",
		Target: VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{
			{
				F1: VArray1_Uint32{
					165369656,
				},
			}: {
				F1: VArray1_Uint32{
					3607576357,
				},
			},
			{
				F1: VArray1_Uint32{
					4291126240,
				},
			}: {},
		},
		SourceLabel: "VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{{F1: {165369656}}: {F1: {3607576357}}, {F1: {4291126240}}: {}}",
		Source: VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32{
			{
				F1: VArray1_Uint32{
					165369656,
				},
			}: {
				F1: VArray1_Uint32{
					3607576357,
				},
			},
			{
				F1: VArray1_Uint32{
					4291126240,
				},
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}",
		Target:      VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
		SourceLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{}",
		Source:      VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{{F1: \"{{\"}: {F1: \"{{\"}}",
		Target: VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				123,
				123,
			}}: VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				123,
				123,
			}},
		},
		SourceLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{{F1: \"{{\"}: {F1: \"{{\"}}",
		Source: VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				123,
				123,
			}}: VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				123,
				123,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{{F1: \"\\x00\\x1e\"}: {F1: \"\\x9b\\xfa\"}, {F1: \"\\x0fh\"}: {F1: \"\\x00\\x00\"}, {F1: \"\\xb7\\xb1\"}: {F1: \"\\x00\\x00\"}}",
		Target: VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				0,
				30,
			}}: VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				155,
				250,
			}},
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				15,
				104,
			}}: VUnionDepth2_VArray2_VByteF1{},
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				183,
				177,
			}}: VUnionDepth2_VArray2_VByteF1{},
		},
		SourceLabel: "VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{{F1: \"\\x00\\x1e\"}: {F1: \"\\x9b\\xfa\"}, {F1: \"\\x0fh\"}: {F1: \"\\x00\\x00\"}, {F1: \"\\xb7\\xb1\"}: {F1: \"\\x00\\x00\"}}",
		Source: VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte{
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				0,
				30,
			}}: VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				155,
				250,
			}},
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				15,
				104,
			}}: VUnionDepth2_VArray2_VByteF1{},
			VUnionDepth2_VArray2_VByteF1{VArray2_VByte{
				183,
				177,
			}}: VUnionDepth2_VArray2_VByteF1{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_All{}",
		Target: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_All{}",
		Target: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_All{}",
		Target: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "VStructDepth3_VStructDepth2_All{}",
		Source: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_All{F0: {{D}}, F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, F2: {{}}, F3: {{F29: 1.5}: {F29: 1.5}}, F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, F5: {F13: {F28: 1.5}}, F6: {F4: {1.5}}}",
		Target: VStructDepth3_All{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth3_All{F0: {{D}}, F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, F2: {{}}, F3: {{F29: 1.5}: {F29: 1.5}}, F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, F5: {F13: {F28: 1.5}}, F6: {F4: {1.5}}}",
		Source: VStructDepth3_All{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_All{F0: {{D}}, F1: {{F7: 0}, {F29: -7.86429253128458e+08}, {F23: -709460934}}, F2: {{}}, F3: {{F29: -1.2255739239434664e+09}: {F29: -1.1735608211823716e+09}, {F29: 0}: {F29: 1.111642678399444e+09}}, F4: {F0: {typeobject(any), typeobject(VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)}, F1: {2133959987}, F2: {3781}, F3: {nil, VEnumBcd.D}, F4: {-2.3763406559414215e+09}, F5: {B, C}, F6: {0: 155, 112: 140, 95: 136}, F10: {F26: -3973383073406796346}, F12: {F9: D}}, F6: {F4: {-1.1621262415614358e+08, -3.236526650893023e+09, 6.374484454491236e+08}}}",
		Target: VStructDepth3_All{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{},
				VUnionDepth1_AllF29{-7.86429253128458e+08},
				VUnionDepth1_AllF23{-709460934},
			},
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-1.2255739239434664e+09}: VUnionDepth1_Float64F29{-1.1735608211823716e+09},
				VUnionDepth1_Float64F29{}:                        VUnionDepth1_Float64F29{1.111642678399444e+09},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_map_234,
				},
				F1: VArray1_Uint32{
					2133959987,
				},
				F2: []int16{
					3781,
				},
				F3: VList_Any{
					nil,
					VEnumBcdD,
				},
				F4: map[float64]struct{}{
					-2.3763406559414215e+09: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0:   155,
					112: 140,
					95:  136,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF26{-3973383073406796346},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
			},
			F5: VUnionDepth2_AllF0{},
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-1.1621262415614358e+08: struct{}{},
					-3.236526650893023e+09:  struct{}{},
					6.374484454491236e+08:   struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth3_All{F0: {{D}}, F1: {{F7: 0}, {F29: -7.86429253128458e+08}, {F23: -709460934}}, F2: {{}}, F3: {{F29: -1.2255739239434664e+09}: {F29: -1.1735608211823716e+09}, {F29: 0}: {F29: 1.111642678399444e+09}}, F4: {F0: {typeobject(any), typeobject(VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)}, F1: {2133959987}, F2: {3781}, F3: {nil, VEnumBcd.D}, F4: {-2.3763406559414215e+09}, F5: {B, C}, F6: {0: 155, 112: 140, 95: 136}, F10: {F26: -3973383073406796346}, F12: {F9: D}}, F6: {F4: {-1.1621262415614358e+08, -3.236526650893023e+09, 6.374484454491236e+08}}}",
		Source: VStructDepth3_All{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{},
				VUnionDepth1_AllF29{-7.86429253128458e+08},
				VUnionDepth1_AllF23{-709460934},
			},
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-1.2255739239434664e+09}: VUnionDepth1_Float64F29{-1.1735608211823716e+09},
				VUnionDepth1_Float64F29{}:                        VUnionDepth1_Float64F29{1.111642678399444e+09},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					__VDLType_map_234,
				},
				F1: VArray1_Uint32{
					2133959987,
				},
				F2: []int16{
					3781,
				},
				F3: VList_Any{
					nil,
					VEnumBcdD,
				},
				F4: map[float64]struct{}{
					-2.3763406559414215e+09: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdB: struct{}{},
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0:   155,
					112: 140,
					95:  136,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF26{-3973383073406796346},
				F11: VUnionDepth1_Float64F29{},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
			},
			F5: VUnionDepth2_AllF0{},
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-1.1621262415614358e+08: struct{}{},
					-3.236526650893023e+09:  struct{}{},
					6.374484454491236e+08:   struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VArray1_Set_VEnumBcd{}",
		Target:      VStructDepth3_VArray1_Set_VEnumBcd{},
		SourceLabel: "VStructDepth3_VArray1_Set_VEnumBcd{}",
		Source:      VStructDepth3_VArray1_Set_VEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VArray1_Set_VEnumBcd{}",
		Target:      VStructDepth3_VArray1_Set_VEnumBcd{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VArray1_Set_VEnumBcd{}",
		Target:      VStructDepth3_VArray1_Set_VEnumBcd{},
		SourceLabel: "VStructDepth1_Any{F0: VArray1_Set_VEnumBcd{}}",
		Source: VStructDepth1_Any{
			F0: VArray1_Set_VEnumBcd{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Target: VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Source: VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Target: VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray1_Set_VEnumBcd{{D}}}",
		Source: VStructDepth1_Any{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{}",
		Target:      VStructDepth3_List_VUnionDepth1_All{},
		SourceLabel: "VStructDepth3_List_VUnionDepth1_All{}",
		Source:      VStructDepth3_List_VUnionDepth1_All{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{}",
		Target:      VStructDepth3_List_VUnionDepth1_All{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{}",
		Target:      VStructDepth3_List_VUnionDepth1_All{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "VStructDepth3_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VStructDepth3_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F7: 31}, {F18: 0}, {F22: -14722}}}",
		Target: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{31},
				VUnionDepth1_AllF18{},
				VUnionDepth1_AllF22{-14722},
			},
		},
		SourceLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F7: 31}, {F18: 0}, {F22: -14722}}}",
		Source: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{31},
				VUnionDepth1_AllF18{},
				VUnionDepth1_AllF22{-14722},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth3_List_VUnionDepth1_All{F1: {{F7: 31}, {F18: 0}, {F22: -14722}}}",
		Target: VStructDepth3_List_VUnionDepth1_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{31},
				VUnionDepth1_AllF18{},
				VUnionDepth1_AllF22{-14722},
			},
		},
		SourceLabel: "VStructDepth3_All{F1: {{F7: 31}, {F18: 0}, {F22: -14722}}}",
		Source: VStructDepth3_All{
			F1: []VUnionDepth1_All{
				VUnionDepth1_AllF7{31},
				VUnionDepth1_AllF18{},
				VUnionDepth1_AllF22{-14722},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{}",
		Target:      VStructDepth3_VSet_VArray1_VStructEmpty{},
		SourceLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{}",
		Source:      VStructDepth3_VSet_VArray1_VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{}",
		Target:      VStructDepth3_VSet_VArray1_VStructEmpty{},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{}",
		Target:      VStructDepth3_VSet_VArray1_VStructEmpty{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{F2: {{}}}",
		Target: VStructDepth3_VSet_VArray1_VStructEmpty{
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
		},
		SourceLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{F2: {{}}}",
		Source: VStructDepth3_VSet_VArray1_VStructEmpty{
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_VSet_VArray1_VStructEmpty{F2: {{}}}",
		Target: VStructDepth3_VSet_VArray1_VStructEmpty{
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
		},
		SourceLabel: "VStructDepth3_All{F2: {{}}}",
		Source: VStructDepth3_All{
			F2: VSet_VArray1_VStructEmpty{
				{}: struct{}{},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Source:      VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{}",
		Target:      VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Target: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Source: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Target: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "VStructDepth3_All{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Source: VStructDepth3_All{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{1.5}: VUnionDepth1_Float64F29{1.5},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: -3.378878853574675e+09}: {F29: -1.8691965570508745e+09}, {F29: -7.12426163010141e+07}: {F29: 2.279171161118203e+09}}}",
		Target: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-3.378878853574675e+09}: VUnionDepth1_Float64F29{-1.8691965570508745e+09},
				VUnionDepth1_Float64F29{-7.12426163010141e+07}:  VUnionDepth1_Float64F29{2.279171161118203e+09},
			},
		},
		SourceLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: -3.378878853574675e+09}: {F29: -1.8691965570508745e+09}, {F29: -7.12426163010141e+07}: {F29: 2.279171161118203e+09}}}",
		Source: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-3.378878853574675e+09}: VUnionDepth1_Float64F29{-1.8691965570508745e+09},
				VUnionDepth1_Float64F29{-7.12426163010141e+07}:  VUnionDepth1_Float64F29{2.279171161118203e+09},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{F3: {{F29: -3.378878853574675e+09}: {F29: -1.8691965570508745e+09}, {F29: -7.12426163010141e+07}: {F29: 2.279171161118203e+09}}}",
		Target: VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-3.378878853574675e+09}: VUnionDepth1_Float64F29{-1.8691965570508745e+09},
				VUnionDepth1_Float64F29{-7.12426163010141e+07}:  VUnionDepth1_Float64F29{2.279171161118203e+09},
			},
		},
		SourceLabel: "VStructDepth3_All{F3: {{F29: -3.378878853574675e+09}: {F29: -1.8691965570508745e+09}, {F29: -7.12426163010141e+07}: {F29: 2.279171161118203e+09}}}",
		Source: VStructDepth3_All{
			F3: map[VUnionDepth1_Float64]VUnionDepth1_Float64{
				VUnionDepth1_Float64F29{-3.378878853574675e+09}: VUnionDepth1_Float64F29{-1.8691965570508745e+09},
				VUnionDepth1_Float64F29{-7.12426163010141e+07}:  VUnionDepth1_Float64F29{2.279171161118203e+09},
			},
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VStructDepth2_All{}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VStructDepth3_VStructDepth2_All{}",
		Source: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VStructDepth2_All{}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VStructDepth2_All{}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "VStructDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "VStructDepth3_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: VArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: VList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: VStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: VEnumAbcC,
					F9: VEnumBcdD,
					F11: VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF32{&VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: VUnionDepth1_Float64F29{1.5},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 123,
				},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_VStructDepth2_All{F4: {F1: {1540208733}, F2: {4909}, F3: {[]VArray1_String{{}, {\"bcdeΔΘΠΣ\"}}}, F4: {-1.9684892797302527e+09, -8.275744919550115e+08, 0}, F5: {C}, F6: {170: 244, 253: 0, 8: 21}, F7: {0: 541517617}, F8: {F0: VStructDepth1_Int64{F25: 1987092034709572939}, F2: true, F3: \"abcd\", F4: \"abc\", F5: typeobject(byte), F6: 197, F8: B, F11: {Id: \"ΣΦ\", Msg: \"cde\"}, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤\"}, F13: 33783, F15: 2806157115, F16: 4207805273, F19: -49, F22: 6458, F23: -924748202, F24: -435626669, F25: -3505399419386896919, F27: 5.9329824e+08, F29: 1.1656722371802888e+09, F30: 3.122338919329276e+08, F31: {}, F32: {Msg: \"王普澤世界\"}}, F9: {F1: true}, F10: {F2: false}, F11: {F29: -5.916343133302755e+07}, F12: {F9: D}, F13: {F14: 21576}}}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: VArray1_Uint32{
					1540208733,
				},
				F2: []int16{
					4909,
				},
				F3: VList_Any{
					[]VArray1_String{
						{},
						{
							"bcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.9684892797302527e+09: struct{}{},
					-8.275744919550115e+08:  struct{}{},
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					170: 244,
					253: 0,
					8:   21,
				},
				F7: map[uint32]uint32{
					0: 541517617,
				},
				F8: VStructDepth1_All{
					F0: VStructDepth1_Int64{
						F25: 1987092034709572939,
					},
					F2: true,
					F3: "abcd",
					F4: "abc",
					F5: vdl.ByteType,
					F6: 197,
					F8: VEnumAbcB,
					F11: VNamedError{
						Id:  "ΣΦ",
						Msg: "cde",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "cdeΔ",
						RetryCode: vdl.WireRetryCodeRetryConnection,
						Msg:       "ΣΦ王普澤",
					}),
					F13: 33783,
					F15: 2806157115,
					F16: 4207805273,
					F19: -49,
					F22: 6458,
					F23: -924748202,
					F24: -435626669,
					F25: -3505399419386896919,
					F27: 5.9329824e+08,
					F29: 1.1656722371802888e+09,
					F30: 3.122338919329276e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF2{},
				F11: VUnionDepth1_Float64F29{-5.916343133302755e+07},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 21576,
				},
			},
		},
		SourceLabel: "VStructDepth3_VStructDepth2_All{F4: {F1: {1540208733}, F2: {4909}, F3: {[]VArray1_String{{}, {\"bcdeΔΘΠΣ\"}}}, F4: {-1.9684892797302527e+09, -8.275744919550115e+08, 0}, F5: {C}, F6: {170: 244, 253: 0, 8: 21}, F7: {0: 541517617}, F8: {F0: VStructDepth1_Int64{F25: 1987092034709572939}, F2: true, F3: \"abcd\", F4: \"abc\", F5: typeobject(byte), F6: 197, F8: B, F11: {Id: \"ΣΦ\", Msg: \"cde\"}, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤\"}, F13: 33783, F15: 2806157115, F16: 4207805273, F19: -49, F22: 6458, F23: -924748202, F24: -435626669, F25: -3505399419386896919, F27: 5.9329824e+08, F29: 1.1656722371802888e+09, F30: 3.122338919329276e+08, F31: {}, F32: {Msg: \"王普澤世界\"}}, F9: {F1: true}, F10: {F2: false}, F11: {F29: -5.916343133302755e+07}, F12: {F9: D}, F13: {F14: 21576}}}",
		Source: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: VArray1_Uint32{
					1540208733,
				},
				F2: []int16{
					4909,
				},
				F3: VList_Any{
					[]VArray1_String{
						{},
						{
							"bcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.9684892797302527e+09: struct{}{},
					-8.275744919550115e+08:  struct{}{},
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					170: 244,
					253: 0,
					8:   21,
				},
				F7: map[uint32]uint32{
					0: 541517617,
				},
				F8: VStructDepth1_All{
					F0: VStructDepth1_Int64{
						F25: 1987092034709572939,
					},
					F2: true,
					F3: "abcd",
					F4: "abc",
					F5: vdl.ByteType,
					F6: 197,
					F8: VEnumAbcB,
					F11: VNamedError{
						Id:  "ΣΦ",
						Msg: "cde",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "cdeΔ",
						RetryCode: vdl.WireRetryCodeRetryConnection,
						Msg:       "ΣΦ王普澤",
					}),
					F13: 33783,
					F15: 2806157115,
					F16: 4207805273,
					F19: -49,
					F22: 6458,
					F23: -924748202,
					F24: -435626669,
					F25: -3505399419386896919,
					F27: 5.9329824e+08,
					F29: 1.1656722371802888e+09,
					F30: 3.122338919329276e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF2{},
				F11: VUnionDepth1_Float64F29{-5.916343133302755e+07},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 21576,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth3_VStructDepth2_All{F4: {F1: {1540208733}, F2: {4909}, F3: {[]VArray1_String{{}, {\"bcdeΔΘΠΣ\"}}}, F4: {-1.9684892797302527e+09, -8.275744919550115e+08, 0}, F5: {C}, F6: {170: 244, 253: 0, 8: 21}, F7: {0: 541517617}, F8: {F0: VStructDepth1_Int64{F25: 1987092034709572939}, F2: true, F3: \"abcd\", F4: \"abc\", F5: typeobject(byte), F6: 197, F8: B, F11: {Id: \"ΣΦ\", Msg: \"cde\"}, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤\"}, F13: 33783, F15: 2806157115, F16: 4207805273, F19: -49, F22: 6458, F23: -924748202, F24: -435626669, F25: -3505399419386896919, F27: 5.9329824e+08, F29: 1.1656722371802888e+09, F30: 3.122338919329276e+08, F31: {}, F32: {Msg: \"王普澤世界\"}}, F9: {F1: true}, F10: {F2: false}, F11: {F29: -5.916343133302755e+07}, F12: {F9: D}, F13: {F14: 21576}}}",
		Target: VStructDepth3_VStructDepth2_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: VArray1_Uint32{
					1540208733,
				},
				F2: []int16{
					4909,
				},
				F3: VList_Any{
					[]VArray1_String{
						{},
						{
							"bcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.9684892797302527e+09: struct{}{},
					-8.275744919550115e+08:  struct{}{},
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					170: 244,
					253: 0,
					8:   21,
				},
				F7: map[uint32]uint32{
					0: 541517617,
				},
				F8: VStructDepth1_All{
					F0: VStructDepth1_Int64{
						F25: 1987092034709572939,
					},
					F2: true,
					F3: "abcd",
					F4: "abc",
					F5: vdl.ByteType,
					F6: 197,
					F8: VEnumAbcB,
					F11: VNamedError{
						Id:  "ΣΦ",
						Msg: "cde",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "cdeΔ",
						RetryCode: vdl.WireRetryCodeRetryConnection,
						Msg:       "ΣΦ王普澤",
					}),
					F13: 33783,
					F15: 2806157115,
					F16: 4207805273,
					F19: -49,
					F22: 6458,
					F23: -924748202,
					F24: -435626669,
					F25: -3505399419386896919,
					F27: 5.9329824e+08,
					F29: 1.1656722371802888e+09,
					F30: 3.122338919329276e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF2{},
				F11: VUnionDepth1_Float64F29{-5.916343133302755e+07},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 21576,
				},
			},
		},
		SourceLabel: "VStructDepth3_All{F4: {F1: {1540208733}, F2: {4909}, F3: {[]VArray1_String{{}, {\"bcdeΔΘΠΣ\"}}}, F4: {-1.9684892797302527e+09, -8.275744919550115e+08, 0}, F5: {C}, F6: {170: 244, 253: 0, 8: 21}, F7: {0: 541517617}, F8: {F0: VStructDepth1_Int64{F25: 1987092034709572939}, F2: true, F3: \"abcd\", F4: \"abc\", F5: typeobject(byte), F6: 197, F8: B, F11: {Id: \"ΣΦ\", Msg: \"cde\"}, F12: {Id: \"cdeΔ\", RetryCode: RetryConnection, Msg: \"ΣΦ王普澤\"}, F13: 33783, F15: 2806157115, F16: 4207805273, F19: -49, F22: 6458, F23: -924748202, F24: -435626669, F25: -3505399419386896919, F27: 5.9329824e+08, F29: 1.1656722371802888e+09, F30: 3.122338919329276e+08, F31: {}, F32: {Msg: \"王普澤世界\"}}, F9: {F1: true}, F10: {F2: false}, F11: {F29: -5.916343133302755e+07}, F12: {F9: D}, F13: {F14: 21576}}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: VArray1_Uint32{
					1540208733,
				},
				F2: []int16{
					4909,
				},
				F3: VList_Any{
					[]VArray1_String{
						{},
						{
							"bcdeΔΘΠΣ",
						},
					},
				},
				F4: map[float64]struct{}{
					-1.9684892797302527e+09: struct{}{},
					-8.275744919550115e+08:  struct{}{},
					0: struct{}{},
				},
				F5: VSet_VEnumBcd{
					VEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					170: 244,
					253: 0,
					8:   21,
				},
				F7: map[uint32]uint32{
					0: 541517617,
				},
				F8: VStructDepth1_All{
					F0: VStructDepth1_Int64{
						F25: 1987092034709572939,
					},
					F2: true,
					F3: "abcd",
					F4: "abc",
					F5: vdl.ByteType,
					F6: 197,
					F8: VEnumAbcB,
					F11: VNamedError{
						Id:  "ΣΦ",
						Msg: "cde",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "cdeΔ",
						RetryCode: vdl.WireRetryCodeRetryConnection,
						Msg:       "ΣΦ王普澤",
					}),
					F13: 33783,
					F15: 2806157115,
					F16: 4207805273,
					F19: -49,
					F22: 6458,
					F23: -924748202,
					F24: -435626669,
					F25: -3505399419386896919,
					F27: 5.9329824e+08,
					F29: 1.1656722371802888e+09,
					F30: 3.122338919329276e+08,
					F31: &VStructEmpty{},
					F32: &VNamedError{
						Msg: "王普澤世界",
					},
				},
				F9: VStructDepth1_Bool{
					F1: true,
				},
				F10: VUnionDepth1_AllF2{},
				F11: VUnionDepth1_Float64F29{-5.916343133302755e+07},
				F12: &VStructDepth1_VEnumBcd{
					F9: VEnumBcdD,
				},
				F13: &VStructDepth1_VUint16{
					F14: 21576,
				},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "VStructDepth3_VUnionDepth2_All{}",
		Source: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "VStructEmpty{}",
		Source:      VStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF0{},
		},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "VStructDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Source: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "VStructDepth3_All{F5: {F13: {F28: 1.5}}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{F5: {F4: {false}}}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "VStructDepth3_VUnionDepth2_All{F5: {F4: {false}}}",
		Source: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth3_VUnionDepth2_All{F5: {F4: {false}}}",
		Target: VStructDepth3_VUnionDepth2_All{
			F5: VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "VStructDepth3_All{F5: {F4: {false}}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF4{VSet_VBool{
				false: struct{}{},
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{}",
		Target:      VStructDepth3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{}",
		Source:      VStructDepth3_OptVStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{}",
		Target:      VStructDepth3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "VStructDepth3_All{}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{}",
		Target:      VStructDepth3_OptVStructDepth2_Set_Float64{},
		SourceLabel: "?VStructEmpty{}",
		Source:      &VStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth3_All{F6: {F4: {1.5}}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
			F6: &VStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {}}",
		Target: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{},
		},
		SourceLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {}}",
		Source: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth3_OptVStructDepth2_Set_Float64{F6: {}}",
		Target: VStructDepth3_OptVStructDepth2_Set_Float64{
			F6: &VStructDepth2_Set_Float64{},
		},
		SourceLabel: "VStructDepth3_All{F6: {}}",
		Source: VStructDepth3_All{
			F4: VStructDepth2_All{
				F0: VArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: VStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: VUnionDepth1_AllF0{},
				F11: VUnionDepth1_Float64F29{},
			},
			F5: VUnionDepth2_AllF0{},
			F6: &VStructDepth2_Set_Float64{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_All{F0: {}}",
		Target:      VUnionDepth3_All(VUnionDepth3_AllF0{}),
		SourceLabel: "VUnionDepth3_All{F0: {}}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_All{F0: {}}",
		Target:      VUnionDepth3_All(VUnionDepth3_AllF0{}),
		SourceLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {}}",
		Source:      VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_All{F0: {}}",
		Target:      VUnionDepth3_All(VUnionDepth3_AllF0{}),
		SourceLabel: "VUnionDepth1_Any{F0: VArray3_OptVStructDepth1_VFloat32{}}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VArray3_OptVStructDepth1_VFloat32{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_All{F6: {F4: {1.5}}}",
		Target: VUnionDepth3_All(VUnionDepth3_AllF6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F6: {F4: {1.5}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_All{F6: {F4: {1.5}}}",
		Target: VUnionDepth3_All(VUnionDepth3_AllF6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_All{F2: {{F3: \"Φ\"}}}",
		Target: VUnionDepth3_All(VUnionDepth3_AllF2{map[VStructDepth1_String]struct{}{
			{
				F3: "Φ",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_All{F2: {{F3: \"Φ\"}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF2{map[VStructDepth1_String]struct{}{
			{
				F3: "Φ",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_All{F2: {{F3: \"Φ\"}}}",
		Target: VUnionDepth3_All(VUnionDepth3_AllF2{map[VStructDepth1_String]struct{}{
			{
				F3: "Φ",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{F3: \"Φ\"}}}",
		Source: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{
				F3: "Φ",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {}}",
		Target:      VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{}),
		SourceLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {}}",
		Source:      VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {}}",
		Target:      VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{}),
		SourceLabel: "VUnionDepth1_Any{F0: VArray3_OptVStructDepth1_VFloat32{}}",
		Source:      VUnionDepth1_Any(VUnionDepth1_AnyF0{VArray3_OptVStructDepth1_VFloat32{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {}}",
		Target:      VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{}),
		SourceLabel: "VUnionDepth1_All{F0: VArray3_OptVStructDepth1_VFloat32{}}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF0{VArray3_OptVStructDepth1_VFloat32{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Target: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
		SourceLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Source: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Target: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF0{VArray3_OptVStructDepth1_VFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{}, nil, {F28: 3.367077e+08}}}",
		Target: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{},
			nil,
			{
				F28: 3.367077e+08,
			},
		}}),
		SourceLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{}, nil, {F28: 3.367077e+08}}}",
		Source: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{},
			nil,
			{
				F28: 3.367077e+08,
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VArray3_OptVStructDepth1_VFloat32{F0: {{}, nil, {F28: 3.367077e+08}}}",
		Target: VUnionDepth3_VArray3_OptVStructDepth1_VFloat32(VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0{VArray3_OptVStructDepth1_VFloat32{
			{},
			nil,
			{
				F28: 3.367077e+08,
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F0: {{}, nil, {F28: 3.367077e+08}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF0{VArray3_OptVStructDepth1_VFloat32{
			{},
			nil,
			{
				F28: 3.367077e+08,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {}}",
		Target:      VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{}),
		SourceLabel: "VUnionDepth3_List_VList_Error{F1: {}}",
		Source:      VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {}}",
		Target:      VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{}),
		SourceLabel: "VUnionDepth3_All{F1: {}}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
		SourceLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"ΘΠ\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠΣΦ王普\"}, {}, {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryRefetch, Msg: \"abc\"}}}}",
		Target: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "ΘΠ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "cdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "cdeΔΘΠΣΦ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "abc",
				}),
			},
		}}),
		SourceLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"ΘΠ\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠΣΦ王普\"}, {}, {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryRefetch, Msg: \"abc\"}}}}",
		Source: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "ΘΠ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "cdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "cdeΔΘΠΣΦ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "abc",
				}),
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_List_VList_Error{F1: {{{Id: \"ΘΠ\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠΣΦ王普\"}, {}, {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryRefetch, Msg: \"abc\"}}}}",
		Target: VUnionDepth3_List_VList_Error(VUnionDepth3_List_VList_ErrorF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "ΘΠ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "cdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "cdeΔΘΠΣΦ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "abc",
				}),
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F1: {{{Id: \"ΘΠ\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠΣΦ王普\"}, {}, {Id: \"cdeΔΘΠΣΦ\", RetryCode: RetryRefetch, Msg: \"abc\"}}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF1{[]VList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "ΘΠ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "cdeΔΘΠΣΦ王普",
				}),
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "cdeΔΘΠΣΦ",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "abc",
				}),
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {}}",
		Target:      VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{}),
		SourceLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {}}",
		Source:      VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {}}",
		Target:      VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{}),
		SourceLabel: "VUnionDepth3_All{F2: {}}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_All{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF2{map[VStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{}, {F3: \"澤\"}}}",
		Target: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "澤",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{}, {F3: \"澤\"}}}",
		Source: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "澤",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_Set_VStructDepth1_String{F2: {{}, {F3: \"澤\"}}}",
		Target: VUnionDepth3_Set_VStructDepth1_String(VUnionDepth3_Set_VStructDepth1_StringF2{map[VStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "澤",
			}: struct{}{},
		}}),
		SourceLabel: "VUnionDepth3_All{F2: {{}, {F3: \"澤\"}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF2{map[VStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "澤",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {}}",
		Target:      VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{}),
		SourceLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {}}",
		Source:      VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {}}",
		Target:      VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{}),
		SourceLabel: "VUnionDepth3_All{F3: {}}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {{F2: true}: {F2: true}}}",
		Target: VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
		SourceLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {{F2: true}: {F2: true}}}",
		Source: VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool{F3: {{F2: true}: {F2: true}}}",
		Target: VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool(VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3{VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F3: {{F2: true}: {F2: true}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF3{VMap_VStructDepth1_VBool_VStructDepth1_VBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		}}),
		SourceLabel: "VUnionDepth3_VStructDepth2_All{F4: {}}",
		Source: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		}}),
		SourceLabel: "VUnionDepth3_All{F4: {}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: VStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: VUnionDepth1_AllF0{},
			F11: VUnionDepth1_Float64F29{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		}}),
		SourceLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: VArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: VList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: VStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: VEnumAbcC,
				F9: VEnumBcdD,
				F11: VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &VStructEmpty{},
				F32: &VNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF32{&VNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: VUnionDepth1_Float64F29{1.5},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{
				F14: 123,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(VUnionDepth2_VList_VByte), typeobject(any)}, F1: {269472430}, F3: {float64(5.1889701539695996e+08)}, F4: {0}, F5: {B}, F6: {0: 94}, F8: {F0: VUnionDepth2_VSet_VNamedError{F5: {{Msg: \"ΘΠΣΦ王普澤世\"}}}, F3: \"eΔ\", F4: \"ΔΘΠΣ\", F5: typeobject(VUnionDepth2_OptVStructDepth1_VFloat32), F6: 41, F11: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普\"}, F12: {Id: \"ΠΣΦ王普澤\", RetryCode: RetryRefetch, Msg: \"bcdeΔ\"}, F14: 5734, F15: 2546143158, F19: 54, F20: 36, F21: -12218, F22: -12639, F23: -596308104, F24: 831381495, F25: 2471666942645895286, F26: -480559897555658797, F27: -1.5791332e+09, F28: 8.072309e+08, F29: 3.2680107058968368e+09, F30: 2.0559144619019778e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F13: 23269}, F11: {F29: 6.897168490214154e+08}, F12: {F9: D}, F13: {}}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				__VDLType_union_199,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				269472430,
			},
			F3: VList_Any{
				float64(5.1889701539695996e+08),
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0: 94,
			},
			F8: VStructDepth1_All{
				F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
					{
						Msg: "ΘΠΣΦ王普澤世",
					}: struct{}{},
				}}),
				F3: "eΔ",
				F4: "ΔΘΠΣ",
				F5: __VDLType_union_210,
				F6: 41,
				F11: VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "ΠΣΦ王普澤",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "bcdeΔ",
				}),
				F14: 5734,
				F15: 2546143158,
				F19: 54,
				F20: 36,
				F21: -12218,
				F22: -12639,
				F23: -596308104,
				F24: 831381495,
				F25: 2471666942645895286,
				F26: -480559897555658797,
				F27: -1.5791332e+09,
				F28: 8.072309e+08,
				F29: 3.2680107058968368e+09,
				F30: 2.0559144619019778e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF13{23269},
			F11: VUnionDepth1_Float64F29{6.897168490214154e+08},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{},
		}}),
		SourceLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(VUnionDepth2_VList_VByte), typeobject(any)}, F1: {269472430}, F3: {float64(5.1889701539695996e+08)}, F4: {0}, F5: {B}, F6: {0: 94}, F8: {F0: VUnionDepth2_VSet_VNamedError{F5: {{Msg: \"ΘΠΣΦ王普澤世\"}}}, F3: \"eΔ\", F4: \"ΔΘΠΣ\", F5: typeobject(VUnionDepth2_OptVStructDepth1_VFloat32), F6: 41, F11: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普\"}, F12: {Id: \"ΠΣΦ王普澤\", RetryCode: RetryRefetch, Msg: \"bcdeΔ\"}, F14: 5734, F15: 2546143158, F19: 54, F20: 36, F21: -12218, F22: -12639, F23: -596308104, F24: 831381495, F25: 2471666942645895286, F26: -480559897555658797, F27: -1.5791332e+09, F28: 8.072309e+08, F29: 3.2680107058968368e+09, F30: 2.0559144619019778e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F13: 23269}, F11: {F29: 6.897168490214154e+08}, F12: {F9: D}, F13: {}}}",
		Source: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				__VDLType_union_199,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				269472430,
			},
			F3: VList_Any{
				float64(5.1889701539695996e+08),
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0: 94,
			},
			F8: VStructDepth1_All{
				F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
					{
						Msg: "ΘΠΣΦ王普澤世",
					}: struct{}{},
				}}),
				F3: "eΔ",
				F4: "ΔΘΠΣ",
				F5: __VDLType_union_210,
				F6: 41,
				F11: VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "ΠΣΦ王普澤",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "bcdeΔ",
				}),
				F14: 5734,
				F15: 2546143158,
				F19: 54,
				F20: 36,
				F21: -12218,
				F22: -12639,
				F23: -596308104,
				F24: 831381495,
				F25: 2471666942645895286,
				F26: -480559897555658797,
				F27: -1.5791332e+09,
				F28: 8.072309e+08,
				F29: 3.2680107058968368e+09,
				F30: 2.0559144619019778e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF13{23269},
			F11: VUnionDepth1_Float64F29{6.897168490214154e+08},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VStructDepth2_All{F4: {F0: {typeobject(VUnionDepth2_VList_VByte), typeobject(any)}, F1: {269472430}, F3: {float64(5.1889701539695996e+08)}, F4: {0}, F5: {B}, F6: {0: 94}, F8: {F0: VUnionDepth2_VSet_VNamedError{F5: {{Msg: \"ΘΠΣΦ王普澤世\"}}}, F3: \"eΔ\", F4: \"ΔΘΠΣ\", F5: typeobject(VUnionDepth2_OptVStructDepth1_VFloat32), F6: 41, F11: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普\"}, F12: {Id: \"ΠΣΦ王普澤\", RetryCode: RetryRefetch, Msg: \"bcdeΔ\"}, F14: 5734, F15: 2546143158, F19: 54, F20: 36, F21: -12218, F22: -12639, F23: -596308104, F24: 831381495, F25: 2471666942645895286, F26: -480559897555658797, F27: -1.5791332e+09, F28: 8.072309e+08, F29: 3.2680107058968368e+09, F30: 2.0559144619019778e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F13: 23269}, F11: {F29: 6.897168490214154e+08}, F12: {F9: D}, F13: {}}}",
		Target: VUnionDepth3_VStructDepth2_All(VUnionDepth3_VStructDepth2_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				__VDLType_union_199,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				269472430,
			},
			F3: VList_Any{
				float64(5.1889701539695996e+08),
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0: 94,
			},
			F8: VStructDepth1_All{
				F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
					{
						Msg: "ΘΠΣΦ王普澤世",
					}: struct{}{},
				}}),
				F3: "eΔ",
				F4: "ΔΘΠΣ",
				F5: __VDLType_union_210,
				F6: 41,
				F11: VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "ΠΣΦ王普澤",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "bcdeΔ",
				}),
				F14: 5734,
				F15: 2546143158,
				F19: 54,
				F20: 36,
				F21: -12218,
				F22: -12639,
				F23: -596308104,
				F24: 831381495,
				F25: 2471666942645895286,
				F26: -480559897555658797,
				F27: -1.5791332e+09,
				F28: 8.072309e+08,
				F29: 3.2680107058968368e+09,
				F30: 2.0559144619019778e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF13{23269},
			F11: VUnionDepth1_Float64F29{6.897168490214154e+08},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{},
		}}),
		SourceLabel: "VUnionDepth3_All{F4: {F0: {typeobject(VUnionDepth2_VList_VByte), typeobject(any)}, F1: {269472430}, F3: {float64(5.1889701539695996e+08)}, F4: {0}, F5: {B}, F6: {0: 94}, F8: {F0: VUnionDepth2_VSet_VNamedError{F5: {{Msg: \"ΘΠΣΦ王普澤世\"}}}, F3: \"eΔ\", F4: \"ΔΘΠΣ\", F5: typeobject(VUnionDepth2_OptVStructDepth1_VFloat32), F6: 41, F11: {Id: \"cdeΔΘΠΣΦ王普澤\", Msg: \"bcdeΔΘΠΣΦ王普\"}, F12: {Id: \"ΠΣΦ王普澤\", RetryCode: RetryRefetch, Msg: \"bcdeΔ\"}, F14: 5734, F15: 2546143158, F19: 54, F20: 36, F21: -12218, F22: -12639, F23: -596308104, F24: 831381495, F25: 2471666942645895286, F26: -480559897555658797, F27: -1.5791332e+09, F28: 8.072309e+08, F29: 3.2680107058968368e+09, F30: 2.0559144619019778e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F13: 23269}, F11: {F29: 6.897168490214154e+08}, F12: {F9: D}, F13: {}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF4{VStructDepth2_All{
			F0: VArray2_TypeObject{
				__VDLType_union_199,
				vdl.AnyType,
			},
			F1: VArray1_Uint32{
				269472430,
			},
			F3: VList_Any{
				float64(5.1889701539695996e+08),
			},
			F4: map[float64]struct{}{
				0: struct{}{},
			},
			F5: VSet_VEnumBcd{
				VEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0: 94,
			},
			F8: VStructDepth1_All{
				F0: VUnionDepth2_VSet_VNamedError(VUnionDepth2_VSet_VNamedErrorF5{VSet_VNamedError{
					{
						Msg: "ΘΠΣΦ王普澤世",
					}: struct{}{},
				}}),
				F3: "eΔ",
				F4: "ΔΘΠΣ",
				F5: __VDLType_union_210,
				F6: 41,
				F11: VNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤",
					Msg: "bcdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "ΠΣΦ王普澤",
					RetryCode: vdl.WireRetryCodeRetryRefetch,
					Msg:       "bcdeΔ",
				}),
				F14: 5734,
				F15: 2546143158,
				F19: 54,
				F20: 36,
				F21: -12218,
				F22: -12639,
				F23: -596308104,
				F24: 831381495,
				F25: 2471666942645895286,
				F26: -480559897555658797,
				F27: -1.5791332e+09,
				F28: 8.072309e+08,
				F29: 3.2680107058968368e+09,
				F30: 2.0559144619019778e+09,
				F31: &VStructEmpty{},
				F32: &VNamedError{},
			},
			F9: VStructDepth1_Bool{
				F1: true,
			},
			F10: VUnionDepth1_AllF13{23269},
			F11: VUnionDepth1_Float64F29{6.897168490214154e+08},
			F12: &VStructDepth1_VEnumBcd{
				F9: VEnumBcdD,
			},
			F13: &VStructDepth1_VUint16{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F0: {}}}",
		Target:      VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF0{}}),
		SourceLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F0: {}}}",
		Source:      VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF0{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F0: {}}}",
		Target:      VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF0{}}),
		SourceLabel: "VUnionDepth3_All{F5: {F0: {}}}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF5{VUnionDepth2_AllF0{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}}),
		SourceLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Source: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}}),
		SourceLabel: "VUnionDepth3_All{F5: {F13: {F28: 1.5}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF5{VUnionDepth2_AllF13{&VStructDepth1_VFloat32{
			F28: 1.5,
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F9: {F19: 9}}}",
		Target: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: 9,
		}}}),
		SourceLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F9: {F19: 9}}}",
		Source: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: 9,
		}}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_VUnionDepth2_All{F5: {F9: {F19: 9}}}",
		Target: VUnionDepth3_VUnionDepth2_All(VUnionDepth3_VUnionDepth2_AllF5{VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: 9,
		}}}),
		SourceLabel: "VUnionDepth3_All{F5: {F9: {F19: 9}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF5{VUnionDepth2_AllF9{VStructDepth1_Int8{
			F19: 9,
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: nil}",
		Target:      VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{}),
		SourceLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: nil}",
		Source:      VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: nil}",
		Target:      VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{}),
		SourceLabel: "VUnionDepth3_All{F6: nil}",
		Source:      VUnionDepth3_All(VUnionDepth3_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F6: {F4: {1.5}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {0, 1.2150244533707948e+08, 3.028392332433068e+09}}}",
		Target: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				0: struct{}{},
				1.2150244533707948e+08: struct{}{},
				3.028392332433068e+09:  struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {0, 1.2150244533707948e+08, 3.028392332433068e+09}}}",
		Source: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				0: struct{}{},
				1.2150244533707948e+08: struct{}{},
				3.028392332433068e+09:  struct{}{},
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth3_OptVStructDepth2_Set_Float64{F6: {F4: {0, 1.2150244533707948e+08, 3.028392332433068e+09}}}",
		Target: VUnionDepth3_OptVStructDepth2_Set_Float64(VUnionDepth3_OptVStructDepth2_Set_Float64F6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				0: struct{}{},
				1.2150244533707948e+08: struct{}{},
				3.028392332433068e+09:  struct{}{},
			},
		}}),
		SourceLabel: "VUnionDepth3_All{F6: {F4: {0, 1.2150244533707948e+08, 3.028392332433068e+09}}}",
		Source: VUnionDepth3_All(VUnionDepth3_AllF6{&VStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				0: struct{}{},
				1.2150244533707948e+08: struct{}{},
				3.028392332433068e+09:  struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?VStructDepth3_VArray1_Set_VEnumBcd(nil)",
		Target:      (*VStructDepth3_VArray1_Set_VEnumBcd)(nil),
		SourceLabel: "?VStructDepth3_VArray1_Set_VEnumBcd(nil)",
		Source:      (*VStructDepth3_VArray1_Set_VEnumBcd)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?VStructDepth3_VArray1_Set_VEnumBcd(nil)",
		Target:      (*VStructDepth3_VArray1_Set_VEnumBcd)(nil),
		SourceLabel: "?VStructEmpty(nil)",
		Source:      (*VStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?VStructDepth3_VArray1_Set_VEnumBcd(nil)",
		Target:      (*VStructDepth3_VArray1_Set_VEnumBcd)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Target: &VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "?VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Source: &VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?VStructDepth3_VArray1_Set_VEnumBcd{F0: {{D}}}",
		Target: &VStructDepth3_VArray1_Set_VEnumBcd{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray1_Set_VEnumBcd{{D}}}",
		Source: VStructDepth1_Any{
			F0: VArray1_Set_VEnumBcd{
				{
					VEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		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{
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XBool(false)",
		Target:      XBool(false),
		SourceLabel: "XBool(false)",
		Source:      XBool(false),
	},
	{
		Label:       "Zero",
		TargetLabel: "XBool(false)",
		Target:      XBool(false),
		SourceLabel: "false",
		Source:      false,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XBool(true)",
		Target:      XBool(true),
		SourceLabel: "XBool(true)",
		Source:      XBool(true),
	},
	{
		Label:       "Full",
		TargetLabel: "XBool(true)",
		Target:      XBool(true),
		SourceLabel: "true",
		Source:      true,
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XString(\"\")",
		Target:      XString(""),
		SourceLabel: "XString(\"\")",
		Source:      XString(""),
	},
	{
		Label:       "Zero",
		TargetLabel: "XString(\"\")",
		Target:      XString(""),
		SourceLabel: "\"\"",
		Source:      "",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Target:      XString("abcdeΔΘΠΣΦ王普澤世界"),
		SourceLabel: "XString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Source:      XString("abcdeΔΘΠΣΦ王普澤世界"),
	},
	{
		Label:       "Full",
		TargetLabel: "XString(\"abcdeΔΘΠΣΦ王普澤世界\")",
		Target:      XString("abcdeΔΘΠΣΦ王普澤世界"),
		SourceLabel: "\"abcdeΔΘΠΣΦ王普澤世界\"",
		Source:      "abcdeΔΘΠΣΦ王普澤世界",
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XString(\"ΔΘΠΣΦ王普\")",
		Target:      XString("ΔΘΠΣΦ王普"),
		SourceLabel: "XString(\"ΔΘΠΣΦ王普\")",
		Source:      XString("ΔΘΠΣΦ王普"),
	},
	{
		Label:       "Random0",
		TargetLabel: "XString(\"ΔΘΠΣΦ王普\")",
		Target:      XString("ΔΘΠΣΦ王普"),
		SourceLabel: "\"ΔΘΠΣΦ王普\"",
		Source:      "ΔΘΠΣΦ王普",
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XByte(0)",
		Target:      XByte(0),
		SourceLabel: "XByte(0)",
		Source:      XByte(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XByte(0)",
		Target:      XByte(0),
		SourceLabel: "XUint64(0)",
		Source:      XUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XByte(0)",
		Target:      XByte(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XByte(255)",
		Source:      XByte(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XUint16(255)",
		Source:      XUint16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XUint32(255)",
		Source:      XUint32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XUint64(255)",
		Source:      XUint64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XInt16(255)",
		Source:      XInt16(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XInt32(255)",
		Source:      XInt32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XInt64(255)",
		Source:      XInt64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XFloat32(255)",
		Source:      XFloat32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "XFloat64(255)",
		Source:      XFloat64(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "float32(255)",
		Source:      float32(255),
	},
	{
		Label:       "+Max",
		TargetLabel: "XByte(255)",
		Target:      XByte(255),
		SourceLabel: "uint64(255)",
		Source:      uint64(255),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XByte(1)",
		Target:      XByte(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XByte(123)",
		Target:      XByte(123),
		SourceLabel: "XByte(123)",
		Source:      XByte(123),
	},
	{
		Label:       "Full",
		TargetLabel: "XByte(123)",
		Target:      XByte(123),
		SourceLabel: "uint16(123)",
		Source:      uint16(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XByte(121)",
		Target:      XByte(121),
		SourceLabel: "XByte(121)",
		Source:      XByte(121),
	},
	{
		Label:       "Random0",
		TargetLabel: "XByte(121)",
		Target:      XByte(121),
		SourceLabel: "XFloat64(121)",
		Source:      XFloat64(121),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XEnumAbc.A",
		Target:      XEnumAbcA,
		SourceLabel: "XEnumAbc.A",
		Source:      XEnumAbcA,
	},
	{
		Label:       "Zero",
		TargetLabel: "XEnumAbc.A",
		Target:      XEnumAbcA,
		SourceLabel: "\"A\"",
		Source:      "A",
	},
	{
		Label:       "Zero",
		TargetLabel: "XEnumAbc.A",
		Target:      XEnumAbcA,
		SourceLabel: "XString(\"A\")",
		Source:      XString("A"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XEnumAbc.B",
		Target:      XEnumAbcB,
		SourceLabel: "XEnumAbc.B",
		Source:      XEnumAbcB,
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.B",
		Target:      XEnumAbcB,
		SourceLabel: "\"B\"",
		Source:      "B",
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.B",
		Target:      XEnumAbcB,
		SourceLabel: "XString(\"B\")",
		Source:      XString("B"),
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.B",
		Target:      XEnumAbcB,
		SourceLabel: "XEnumBcd.B",
		Source:      XEnumBcdB,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XEnumAbc.C",
		Target:      XEnumAbcC,
		SourceLabel: "XEnumAbc.C",
		Source:      XEnumAbcC,
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.C",
		Target:      XEnumAbcC,
		SourceLabel: "\"C\"",
		Source:      "C",
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.C",
		Target:      XEnumAbcC,
		SourceLabel: "XString(\"C\")",
		Source:      XString("C"),
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumAbc.C",
		Target:      XEnumAbcC,
		SourceLabel: "XEnumBcd.C",
		Source:      XEnumBcdC,
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XEnumBcd.B",
		Target:      XEnumBcdB,
		SourceLabel: "XEnumBcd.B",
		Source:      XEnumBcdB,
	},
	{
		Label:       "Zero",
		TargetLabel: "XEnumBcd.B",
		Target:      XEnumBcdB,
		SourceLabel: "\"B\"",
		Source:      "B",
	},
	{
		Label:       "Zero",
		TargetLabel: "XEnumBcd.B",
		Target:      XEnumBcdB,
		SourceLabel: "XEnumAbc.B",
		Source:      XEnumAbcB,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XEnumBcd.C",
		Target:      XEnumBcdC,
		SourceLabel: "XEnumBcd.C",
		Source:      XEnumBcdC,
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumBcd.C",
		Target:      XEnumBcdC,
		SourceLabel: "\"C\"",
		Source:      "C",
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumBcd.C",
		Target:      XEnumBcdC,
		SourceLabel: "XString(\"C\")",
		Source:      XString("C"),
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumBcd.C",
		Target:      XEnumBcdC,
		SourceLabel: "XEnumAbc.C",
		Source:      XEnumAbcC,
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XEnumBcd.D",
		Target:      XEnumBcdD,
		SourceLabel: "XEnumBcd.D",
		Source:      XEnumBcdD,
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumBcd.D",
		Target:      XEnumBcdD,
		SourceLabel: "\"D\"",
		Source:      "D",
	},
	{
		Label:       "Full",
		TargetLabel: "XEnumBcd.D",
		Target:      XEnumBcdD,
		SourceLabel: "XString(\"D\")",
		Source:      XString("D"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructEmpty{}",
		Target:      XStructEmpty{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructEmpty{}",
		Target:      XStructEmpty{},
		SourceLabel: "XStructDepth1_XEnumAbc{}",
		Source:      XStructDepth1_XEnumAbc{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructEmpty{}",
		Target:      XStructEmpty{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XNamedError{}",
		Target:      XNamedError{},
		SourceLabel: "XNamedError{}",
		Source:      XNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XNamedError{}",
		Target:      XNamedError{},
		SourceLabel: "?XNamedError{}",
		Source:      &XNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XNamedError{}",
		Target:      XNamedError{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XNamedError{Id: \"deΔΘΠΣΦ王\", Msg: \"ΘΠΣΦ王\"}",
		Target: XNamedError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "ΘΠΣΦ王",
		},
		SourceLabel: "XNamedError{Id: \"deΔΘΠΣΦ王\", Msg: \"ΘΠΣΦ王\"}",
		Source: XNamedError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "ΘΠΣΦ王",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XNamedError{Id: \"deΔΘΠΣΦ王\", Msg: \"ΘΠΣΦ王\"}",
		Target: XNamedError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "ΘΠΣΦ王",
		},
		SourceLabel: "error{Id: \"deΔΘΠΣΦ王\", Msg: \"ΘΠΣΦ王\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "ΘΠΣΦ王",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUint16(0)",
		Target:      XUint16(0),
		SourceLabel: "XUint16(0)",
		Source:      XUint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint16(0)",
		Target:      XUint16(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint16(0)",
		Target:      XUint16(0),
		SourceLabel: "XFloat64(0)",
		Source:      XFloat64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XUint16(65535)",
		Source:      XUint16(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XUint32(65535)",
		Source:      XUint32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XUint64(65535)",
		Source:      XUint64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XInt32(65535)",
		Source:      XInt32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XInt64(65535)",
		Source:      XInt64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XFloat32(65535)",
		Source:      XFloat32(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "XFloat64(65535)",
		Source:      XFloat64(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "uint16(65535)",
		Source:      uint16(65535),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint16(65535)",
		Target:      XUint16(65535),
		SourceLabel: "float32(65535)",
		Source:      float32(65535),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint16(1)",
		Target:      XUint16(1),
		SourceLabel: "float32(1)",
		Source:      float32(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUint16(123)",
		Target:      XUint16(123),
		SourceLabel: "XUint16(123)",
		Source:      XUint16(123),
	},
	{
		Label:       "Full",
		TargetLabel: "XUint16(123)",
		Target:      XUint16(123),
		SourceLabel: "float32(123)",
		Source:      float32(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUint16(45577)",
		Target:      XUint16(45577),
		SourceLabel: "XUint16(45577)",
		Source:      XUint16(45577),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUint16(45577)",
		Target:      XUint16(45577),
		SourceLabel: "uint64(45577)",
		Source:      uint64(45577),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUint32(0)",
		Target:      XUint32(0),
		SourceLabel: "XUint32(0)",
		Source:      XUint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint32(0)",
		Target:      XUint32(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint32(0)",
		Target:      XUint32(0),
		SourceLabel: "XInt8(0)",
		Source:      XInt8(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "XUint32(4294967295)",
		Source:      XUint32(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "XUint64(4294967295)",
		Source:      XUint64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "XInt64(4294967295)",
		Source:      XInt64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "XFloat64(4.294967295e+09)",
		Source:      XFloat64(4.294967295e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "uint64(4294967295)",
		Source:      uint64(4294967295),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint32(4294967295)",
		Target:      XUint32(4294967295),
		SourceLabel: "uint32(4294967295)",
		Source:      uint32(4294967295),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint32(1)",
		Target:      XUint32(1),
		SourceLabel: "uint32(1)",
		Source:      uint32(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUint32(123)",
		Target:      XUint32(123),
		SourceLabel: "XUint32(123)",
		Source:      XUint32(123),
	},
	{
		Label:       "Full",
		TargetLabel: "XUint32(123)",
		Target:      XUint32(123),
		SourceLabel: "int8(123)",
		Source:      int8(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUint32(3673933973)",
		Target:      XUint32(3673933973),
		SourceLabel: "XUint32(3673933973)",
		Source:      XUint32(3673933973),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUint32(3673933973)",
		Target:      XUint32(3673933973),
		SourceLabel: "XFloat64(3.673933973e+09)",
		Source:      XFloat64(3.673933973e+09),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUint64(0)",
		Target:      XUint64(0),
		SourceLabel: "XUint64(0)",
		Source:      XUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint64(0)",
		Target:      XUint64(0),
		SourceLabel: "uint16(0)",
		Source:      uint16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUint64(0)",
		Target:      XUint64(0),
		SourceLabel: "XInt16(0)",
		Source:      XInt16(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XUint64(18446744073709551615)",
		Target:      XUint64(18446744073709551615),
		SourceLabel: "XUint64(18446744073709551615)",
		Source:      XUint64(18446744073709551615),
	},
	{
		Label:       "+Max",
		TargetLabel: "XUint64(18446744073709551615)",
		Target:      XUint64(18446744073709551615),
		SourceLabel: "uint64(18446744073709551615)",
		Source:      uint64(18446744073709551615),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "int32(1)",
		Source:      int32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XUint64(1)",
		Target:      XUint64(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUint64(123)",
		Target:      XUint64(123),
		SourceLabel: "XUint64(123)",
		Source:      XUint64(123),
	},
	{
		Label:       "Full",
		TargetLabel: "XUint64(123)",
		Target:      XUint64(123),
		SourceLabel: "XFloat64(123)",
		Source:      XFloat64(123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUint64(3549134787386436119)",
		Target:      XUint64(3549134787386436119),
		SourceLabel: "XUint64(3549134787386436119)",
		Source:      XUint64(3549134787386436119),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUint64(3549134787386436119)",
		Target:      XUint64(3549134787386436119),
		SourceLabel: "int64(3549134787386436119)",
		Source:      int64(3549134787386436119),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XInt8(0)",
		Target:      XInt8(0),
		SourceLabel: "XInt8(0)",
		Source:      XInt8(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt8(0)",
		Target:      XInt8(0),
		SourceLabel: "int64(0)",
		Source:      int64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt8(0)",
		Target:      XInt8(0),
		SourceLabel: "int16(0)",
		Source:      int16(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XInt8(127)",
		Source:      XInt8(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XByte(127)",
		Source:      XByte(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XUint16(127)",
		Source:      XUint16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XUint32(127)",
		Source:      XUint32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XUint64(127)",
		Source:      XUint64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XInt16(127)",
		Source:      XInt16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XInt32(127)",
		Source:      XInt32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XInt64(127)",
		Source:      XInt64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XFloat32(127)",
		Source:      XFloat32(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "XFloat64(127)",
		Source:      XFloat64(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "uint16(127)",
		Source:      uint16(127),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt8(127)",
		Target:      XInt8(127),
		SourceLabel: "int64(127)",
		Source:      int64(127),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "uint64(1)",
		Source:      uint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt8(1)",
		Target:      XInt8(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XInt8(-128)",
		Source:      XInt8(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XInt16(-128)",
		Source:      XInt16(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XInt32(-128)",
		Source:      XInt32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XInt64(-128)",
		Source:      XInt64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XFloat32(-128)",
		Source:      XFloat32(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "XFloat64(-128)",
		Source:      XFloat64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "float64(-128)",
		Source:      float64(-128),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt8(-128)",
		Target:      XInt8(-128),
		SourceLabel: "int64(-128)",
		Source:      int64(-128),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XInt8(-1)",
		Source:      XInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XInt16(-1)",
		Source:      XInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XInt32(-1)",
		Source:      XInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XInt64(-1)",
		Source:      XInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XFloat32(-1)",
		Source:      XFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "XFloat64(-1)",
		Source:      XFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "int16(-1)",
		Source:      int16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt8(-1)",
		Target:      XInt8(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XInt8(-123)",
		Target:      XInt8(-123),
		SourceLabel: "XInt8(-123)",
		Source:      XInt8(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "XInt8(-123)",
		Target:      XInt8(-123),
		SourceLabel: "XFloat32(-123)",
		Source:      XFloat32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XInt8(-32)",
		Target:      XInt8(-32),
		SourceLabel: "XInt8(-32)",
		Source:      XInt8(-32),
	},
	{
		Label:       "Random0",
		TargetLabel: "XInt8(-32)",
		Target:      XInt8(-32),
		SourceLabel: "int32(-32)",
		Source:      int32(-32),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XInt16(0)",
		Target:      XInt16(0),
		SourceLabel: "XInt16(0)",
		Source:      XInt16(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt16(0)",
		Target:      XInt16(0),
		SourceLabel: "float32(0)",
		Source:      float32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt16(0)",
		Target:      XInt16(0),
		SourceLabel: "XByte(0)",
		Source:      XByte(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XInt16(32767)",
		Source:      XInt16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XUint16(32767)",
		Source:      XUint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XUint32(32767)",
		Source:      XUint32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XUint64(32767)",
		Source:      XUint64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XInt32(32767)",
		Source:      XInt32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XInt64(32767)",
		Source:      XInt64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XFloat32(32767)",
		Source:      XFloat32(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "XFloat64(32767)",
		Source:      XFloat64(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "uint16(32767)",
		Source:      uint16(32767),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt16(32767)",
		Target:      XInt16(32767),
		SourceLabel: "uint64(32767)",
		Source:      uint64(32767),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "uint16(1)",
		Source:      uint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt16(1)",
		Target:      XInt16(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "XInt16(-32768)",
		Source:      XInt16(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "XInt32(-32768)",
		Source:      XInt32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "XInt64(-32768)",
		Source:      XInt64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "XFloat32(-32768)",
		Source:      XFloat32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "XFloat64(-32768)",
		Source:      XFloat64(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "float32(-32768)",
		Source:      float32(-32768),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt16(-32768)",
		Target:      XInt16(-32768),
		SourceLabel: "int16(-32768)",
		Source:      int16(-32768),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XInt16(-1)",
		Source:      XInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XInt8(-1)",
		Source:      XInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XInt32(-1)",
		Source:      XInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XInt64(-1)",
		Source:      XInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XFloat32(-1)",
		Source:      XFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "XFloat64(-1)",
		Source:      XFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt16(-1)",
		Target:      XInt16(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XInt16(-123)",
		Target:      XInt16(-123),
		SourceLabel: "XInt16(-123)",
		Source:      XInt16(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "XInt16(-123)",
		Target:      XInt16(-123),
		SourceLabel: "float32(-123)",
		Source:      float32(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XInt16(-4553)",
		Target:      XInt16(-4553),
		SourceLabel: "XInt16(-4553)",
		Source:      XInt16(-4553),
	},
	{
		Label:       "Random0",
		TargetLabel: "XInt16(-4553)",
		Target:      XInt16(-4553),
		SourceLabel: "int64(-4553)",
		Source:      int64(-4553),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XInt32(0)",
		Target:      XInt32(0),
		SourceLabel: "XInt32(0)",
		Source:      XInt32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt32(0)",
		Target:      XInt32(0),
		SourceLabel: "XUint64(0)",
		Source:      XUint64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt32(0)",
		Target:      XInt32(0),
		SourceLabel: "XUint32(0)",
		Source:      XUint32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "XInt32(2147483647)",
		Source:      XInt32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "XUint32(2147483647)",
		Source:      XUint32(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "XUint64(2147483647)",
		Source:      XUint64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "XInt64(2147483647)",
		Source:      XInt64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "XFloat64(2.147483647e+09)",
		Source:      XFloat64(2.147483647e+09),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "uint64(2147483647)",
		Source:      uint64(2147483647),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt32(2147483647)",
		Target:      XInt32(2147483647),
		SourceLabel: "int64(2147483647)",
		Source:      int64(2147483647),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "int16(1)",
		Source:      int16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt32(1)",
		Target:      XInt32(1),
		SourceLabel: "int64(1)",
		Source:      int64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XInt32(-2147483648)",
		Target:      XInt32(-2147483648),
		SourceLabel: "XInt32(-2147483648)",
		Source:      XInt32(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt32(-2147483648)",
		Target:      XInt32(-2147483648),
		SourceLabel: "XInt64(-2147483648)",
		Source:      XInt64(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt32(-2147483648)",
		Target:      XInt32(-2147483648),
		SourceLabel: "XFloat64(-2.147483648e+09)",
		Source:      XFloat64(-2.147483648e+09),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt32(-2147483648)",
		Target:      XInt32(-2147483648),
		SourceLabel: "int64(-2147483648)",
		Source:      int64(-2147483648),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt32(-2147483648)",
		Target:      XInt32(-2147483648),
		SourceLabel: "int32(-2147483648)",
		Source:      int32(-2147483648),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XInt32(-1)",
		Source:      XInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XInt8(-1)",
		Source:      XInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XInt16(-1)",
		Source:      XInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XInt64(-1)",
		Source:      XInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XFloat32(-1)",
		Source:      XFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "XFloat64(-1)",
		Source:      XFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "int64(-1)",
		Source:      int64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt32(-1)",
		Target:      XInt32(-1),
		SourceLabel: "int8(-1)",
		Source:      int8(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XInt32(-123)",
		Target:      XInt32(-123),
		SourceLabel: "XInt32(-123)",
		Source:      XInt32(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "XInt32(-123)",
		Target:      XInt32(-123),
		SourceLabel: "XInt8(-123)",
		Source:      XInt8(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XInt32(-892159462)",
		Target:      XInt32(-892159462),
		SourceLabel: "XInt32(-892159462)",
		Source:      XInt32(-892159462),
	},
	{
		Label:       "Random0",
		TargetLabel: "XInt32(-892159462)",
		Target:      XInt32(-892159462),
		SourceLabel: "XInt64(-892159462)",
		Source:      XInt64(-892159462),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XInt64(0)",
		Target:      XInt64(0),
		SourceLabel: "XInt64(0)",
		Source:      XInt64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt64(0)",
		Target:      XInt64(0),
		SourceLabel: "XFloat64(0)",
		Source:      XFloat64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XInt64(0)",
		Target:      XInt64(0),
		SourceLabel: "int8(0)",
		Source:      int8(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XInt64(9223372036854775807)",
		Target:      XInt64(9223372036854775807),
		SourceLabel: "XInt64(9223372036854775807)",
		Source:      XInt64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt64(9223372036854775807)",
		Target:      XInt64(9223372036854775807),
		SourceLabel: "XUint64(9223372036854775807)",
		Source:      XUint64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt64(9223372036854775807)",
		Target:      XInt64(9223372036854775807),
		SourceLabel: "uint64(9223372036854775807)",
		Source:      uint64(9223372036854775807),
	},
	{
		Label:       "+Max",
		TargetLabel: "XInt64(9223372036854775807)",
		Target:      XInt64(9223372036854775807),
		SourceLabel: "int64(9223372036854775807)",
		Source:      int64(9223372036854775807),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XInt64(1)",
		Source:      XInt64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XByte(1)",
		Source:      XByte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XUint16(1)",
		Source:      XUint16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XUint32(1)",
		Source:      XUint32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XUint64(1)",
		Source:      XUint64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XInt8(1)",
		Source:      XInt8(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XInt16(1)",
		Source:      XInt16(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XInt32(1)",
		Source:      XInt32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XFloat32(1)",
		Source:      XFloat32(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "XFloat64(1)",
		Source:      XFloat64(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "byte(1)",
		Source:      byte(1),
	},
	{
		Label:       "+Min",
		TargetLabel: "XInt64(1)",
		Target:      XInt64(1),
		SourceLabel: "float64(1)",
		Source:      float64(1),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XInt64(-9223372036854775808)",
		Target:      XInt64(-9223372036854775808),
		SourceLabel: "XInt64(-9223372036854775808)",
		Source:      XInt64(-9223372036854775808),
	},
	{
		Label:       "-Max",
		TargetLabel: "XInt64(-9223372036854775808)",
		Target:      XInt64(-9223372036854775808),
		SourceLabel: "int64(-9223372036854775808)",
		Source:      int64(-9223372036854775808),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XInt64(-1)",
		Source:      XInt64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XInt8(-1)",
		Source:      XInt8(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XInt16(-1)",
		Source:      XInt16(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XInt32(-1)",
		Source:      XInt32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XFloat32(-1)",
		Source:      XFloat32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "XFloat64(-1)",
		Source:      XFloat64(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "int32(-1)",
		Source:      int32(-1),
	},
	{
		Label:       "-Min",
		TargetLabel: "XInt64(-1)",
		Target:      XInt64(-1),
		SourceLabel: "float32(-1)",
		Source:      float32(-1),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XInt64(-123)",
		Target:      XInt64(-123),
		SourceLabel: "XInt64(-123)",
		Source:      XInt64(-123),
	},
	{
		Label:       "Full",
		TargetLabel: "XInt64(-123)",
		Target:      XInt64(-123),
		SourceLabel: "XInt16(-123)",
		Source:      XInt16(-123),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XInt64(-2178964085458097277)",
		Target:      XInt64(-2178964085458097277),
		SourceLabel: "XInt64(-2178964085458097277)",
		Source:      XInt64(-2178964085458097277),
	},
	{
		Label:       "Random0",
		TargetLabel: "XInt64(-2178964085458097277)",
		Target:      XInt64(-2178964085458097277),
		SourceLabel: "int64(-2178964085458097277)",
		Source:      int64(-2178964085458097277),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XFloat32(0)",
		Target:      XFloat32(0),
		SourceLabel: "XFloat32(0)",
		Source:      XFloat32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XFloat32(0)",
		Target:      XFloat32(0),
		SourceLabel: "int8(0)",
		Source:      int8(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XFloat32(0)",
		Target:      XFloat32(0),
		SourceLabel: "XUint32(0)",
		Source:      XUint32(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XFloat32(1.7014117e+38)",
		Target:      XFloat32(1.7014117e+38),
		SourceLabel: "XFloat32(1.7014117e+38)",
		Source:      XFloat32(1.7014117e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "XFloat32(1.7014117e+38)",
		Target:      XFloat32(1.7014117e+38),
		SourceLabel: "XFloat64(1.7014117331926443e+38)",
		Source:      XFloat64(1.7014117331926443e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "XFloat32(1.7014117e+38)",
		Target:      XFloat32(1.7014117e+38),
		SourceLabel: "float64(1.7014117331926443e+38)",
		Source:      float64(1.7014117331926443e+38),
	},
	{
		Label:       "+Max",
		TargetLabel: "XFloat32(1.7014117e+38)",
		Target:      XFloat32(1.7014117e+38),
		SourceLabel: "float32(1.7014117e+38)",
		Source:      float32(1.7014117e+38),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XFloat32(1.4e-44)",
		Target:      XFloat32(1.4e-44),
		SourceLabel: "XFloat32(1.4e-44)",
		Source:      XFloat32(1.4e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "XFloat32(1.4e-44)",
		Target:      XFloat32(1.4e-44),
		SourceLabel: "XFloat64(1.401298464324817e-44)",
		Source:      XFloat64(1.401298464324817e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "XFloat32(1.4e-44)",
		Target:      XFloat32(1.4e-44),
		SourceLabel: "float64(1.401298464324817e-44)",
		Source:      float64(1.401298464324817e-44),
	},
	{
		Label:       "+Min",
		TargetLabel: "XFloat32(1.4e-44)",
		Target:      XFloat32(1.4e-44),
		SourceLabel: "float32(1.4e-44)",
		Source:      float32(1.4e-44),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XFloat32(-1.7014117e+38)",
		Target:      XFloat32(-1.7014117e+38),
		SourceLabel: "XFloat32(-1.7014117e+38)",
		Source:      XFloat32(-1.7014117e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "XFloat32(-1.7014117e+38)",
		Target:      XFloat32(-1.7014117e+38),
		SourceLabel: "XFloat64(-1.7014117331926443e+38)",
		Source:      XFloat64(-1.7014117331926443e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "XFloat32(-1.7014117e+38)",
		Target:      XFloat32(-1.7014117e+38),
		SourceLabel: "float32(-1.7014117e+38)",
		Source:      float32(-1.7014117e+38),
	},
	{
		Label:       "-Max",
		TargetLabel: "XFloat32(-1.7014117e+38)",
		Target:      XFloat32(-1.7014117e+38),
		SourceLabel: "float64(-1.7014117331926443e+38)",
		Source:      float64(-1.7014117331926443e+38),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XFloat32(-1.4e-44)",
		Target:      XFloat32(-1.4e-44),
		SourceLabel: "XFloat32(-1.4e-44)",
		Source:      XFloat32(-1.4e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "XFloat32(-1.4e-44)",
		Target:      XFloat32(-1.4e-44),
		SourceLabel: "XFloat64(-1.401298464324817e-44)",
		Source:      XFloat64(-1.401298464324817e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "XFloat32(-1.4e-44)",
		Target:      XFloat32(-1.4e-44),
		SourceLabel: "float64(-1.401298464324817e-44)",
		Source:      float64(-1.401298464324817e-44),
	},
	{
		Label:       "-Min",
		TargetLabel: "XFloat32(-1.4e-44)",
		Target:      XFloat32(-1.4e-44),
		SourceLabel: "float32(-1.4e-44)",
		Source:      float32(-1.4e-44),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XFloat32(1.5)",
		Target:      XFloat32(1.5),
		SourceLabel: "XFloat32(1.5)",
		Source:      XFloat32(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "XFloat32(1.5)",
		Target:      XFloat32(1.5),
		SourceLabel: "float64(1.5)",
		Source:      float64(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XFloat32(5.382112e+08)",
		Target:      XFloat32(5.382112e+08),
		SourceLabel: "XFloat32(5.382112e+08)",
		Source:      XFloat32(5.382112e+08),
	},
	{
		Label:       "Random0",
		TargetLabel: "XFloat32(5.382112e+08)",
		Target:      XFloat32(5.382112e+08),
		SourceLabel: "float64(5.382111857916099e+08)",
		Source:      float64(5.382111857916099e+08),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XFloat64(0)",
		Target:      XFloat64(0),
		SourceLabel: "XFloat64(0)",
		Source:      XFloat64(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XFloat64(0)",
		Target:      XFloat64(0),
		SourceLabel: "uint32(0)",
		Source:      uint32(0),
	},
	{
		Label:       "Zero",
		TargetLabel: "XFloat64(0)",
		Target:      XFloat64(0),
		SourceLabel: "XInt64(0)",
		Source:      XInt64(0),
	},
	{
		IsCanonical: true,
		Label:       "+Max",
		TargetLabel: "XFloat64(8.988465674311579e+307)",
		Target:      XFloat64(8.988465674311579e+307),
		SourceLabel: "XFloat64(8.988465674311579e+307)",
		Source:      XFloat64(8.988465674311579e+307),
	},
	{
		Label:       "+Max",
		TargetLabel: "XFloat64(8.988465674311579e+307)",
		Target:      XFloat64(8.988465674311579e+307),
		SourceLabel: "float64(8.988465674311579e+307)",
		Source:      float64(8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "+Min",
		TargetLabel: "XFloat64(5e-323)",
		Target:      XFloat64(5e-323),
		SourceLabel: "XFloat64(5e-323)",
		Source:      XFloat64(5e-323),
	},
	{
		Label:       "+Min",
		TargetLabel: "XFloat64(5e-323)",
		Target:      XFloat64(5e-323),
		SourceLabel: "float64(5e-323)",
		Source:      float64(5e-323),
	},
	{
		IsCanonical: true,
		Label:       "-Max",
		TargetLabel: "XFloat64(-8.988465674311579e+307)",
		Target:      XFloat64(-8.988465674311579e+307),
		SourceLabel: "XFloat64(-8.988465674311579e+307)",
		Source:      XFloat64(-8.988465674311579e+307),
	},
	{
		Label:       "-Max",
		TargetLabel: "XFloat64(-8.988465674311579e+307)",
		Target:      XFloat64(-8.988465674311579e+307),
		SourceLabel: "float64(-8.988465674311579e+307)",
		Source:      float64(-8.988465674311579e+307),
	},
	{
		IsCanonical: true,
		Label:       "-Min",
		TargetLabel: "XFloat64(-5e-323)",
		Target:      XFloat64(-5e-323),
		SourceLabel: "XFloat64(-5e-323)",
		Source:      XFloat64(-5e-323),
	},
	{
		Label:       "-Min",
		TargetLabel: "XFloat64(-5e-323)",
		Target:      XFloat64(-5e-323),
		SourceLabel: "float64(-5e-323)",
		Source:      float64(-5e-323),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XFloat64(1.5)",
		Target:      XFloat64(1.5),
		SourceLabel: "XFloat64(1.5)",
		Source:      XFloat64(1.5),
	},
	{
		Label:       "Full",
		TargetLabel: "XFloat64(1.5)",
		Target:      XFloat64(1.5),
		SourceLabel: "XFloat32(1.5)",
		Source:      XFloat32(1.5),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XFloat64(7.828180274585748e+08)",
		Target:      XFloat64(7.828180274585748e+08),
		SourceLabel: "XFloat64(7.828180274585748e+08)",
		Source:      XFloat64(7.828180274585748e+08),
	},
	{
		Label:       "Random0",
		TargetLabel: "XFloat64(7.828180274585748e+08)",
		Target:      XFloat64(7.828180274585748e+08),
		SourceLabel: "float64(7.828180274585748e+08)",
		Source:      float64(7.828180274585748e+08),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructEmpty(nil)",
		Target:      (*XStructEmpty)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructEmpty(nil)",
		Target:      (*XStructEmpty)(nil),
		SourceLabel: "?XStructDepth1_XEnumBcd(nil)",
		Source:      (*XStructDepth1_XEnumBcd)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructEmpty(nil)",
		Target:      (*XStructEmpty)(nil),
		SourceLabel: "?XStructDepth1_XFloat32(nil)",
		Source:      (*XStructDepth1_XFloat32)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructEmpty(nil)",
		Target:      (*XStructEmpty)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructEmpty{}",
		Target:      &XStructEmpty{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructEmpty{}",
		Target:      &XStructEmpty{},
		SourceLabel: "XStructDepth1_Int8{}",
		Source:      XStructDepth1_Int8{},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XNamedError(nil)",
		Target:      (*XNamedError)(nil),
		SourceLabel: "?XNamedError(nil)",
		Source:      (*XNamedError)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XNamedError(nil)",
		Target:      (*XNamedError)(nil),
		SourceLabel: "error(nil)",
		Source:      (*verror.E)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XNamedError(nil)",
		Target:      (*XNamedError)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XNamedError(nil)",
		Target:      (*XNamedError)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: &XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "?XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: &XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: &XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?XNamedError{Id: \"deΔΘΠΣΦ王普澤\", Msg: \"cdeΔΘΠ\"}",
		Target: &XNamedError{
			Id:  "deΔΘΠΣΦ王普澤",
			Msg: "cdeΔΘΠ",
		},
		SourceLabel: "?XNamedError{Id: \"deΔΘΠΣΦ王普澤\", Msg: \"cdeΔΘΠ\"}",
		Source: &XNamedError{
			Id:  "deΔΘΠΣΦ王普澤",
			Msg: "cdeΔΘΠ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?XNamedError{Id: \"deΔΘΠΣΦ王普澤\", Msg: \"cdeΔΘΠ\"}",
		Target: &XNamedError{
			Id:  "deΔΘΠΣΦ王普澤",
			Msg: "cdeΔΘΠ",
		},
		SourceLabel: "error{Id: \"deΔΘΠΣΦ王普澤\", Msg: \"cdeΔΘΠ\"}",
		Source: verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王普澤",
			Msg: "cdeΔΘΠ",
		}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_Any{}",
		Target:      XArray3_Any{},
		SourceLabel: "XArray3_Any{}",
		Source:      XArray3_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Any{}",
		Target:      XArray3_Any{},
		SourceLabel: "XList_Any{nil, nil, nil}",
		Source: XList_Any{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Any{}",
		Target:      XArray3_Any{},
		SourceLabel: "[]any{nil, nil, nil}",
		Source: []interface{}{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Target: XArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
		SourceLabel: "XArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Source: XArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_Any{int64(-123), int64(-123), int64(-123)}",
		Target: XArray3_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
		SourceLabel: "XList_Any{int64(-123), int64(-123), int64(-123)}",
		Source: XList_Any{
			int64(-123),
			int64(-123),
			int64(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_Any{[]XArray1_String{{\"eΔΘΠΣΦ王普\"}, {}, {}}, set[XString]{\"bcdeΔΘΠΣΦ王普澤\", \"普澤\"}, XUnionDepth3_XUnionDepth2_All{F5: {F11: {F16: 0}}}}",
		Target: XArray3_Any{
			[]XArray1_String{
				{
					"eΔΘΠΣΦ王普",
				},
				{},
				{},
			},
			map[XString]struct{}{
				"bcdeΔΘΠΣΦ王普澤": struct{}{},
				"普澤":           struct{}{},
			},
			XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{}}}),
		},
		SourceLabel: "XArray3_Any{[]XArray1_String{{\"eΔΘΠΣΦ王普\"}, {}, {}}, set[XString]{\"bcdeΔΘΠΣΦ王普澤\", \"普澤\"}, XUnionDepth3_XUnionDepth2_All{F5: {F11: {F16: 0}}}}",
		Source: XArray3_Any{
			[]XArray1_String{
				{
					"eΔΘΠΣΦ王普",
				},
				{},
				{},
			},
			map[XString]struct{}{
				"bcdeΔΘΠΣΦ王普澤": struct{}{},
				"普澤":           struct{}{},
			},
			XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{}}}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_Any{[]XArray1_String{{\"eΔΘΠΣΦ王普\"}, {}, {}}, set[XString]{\"bcdeΔΘΠΣΦ王普澤\", \"普澤\"}, XUnionDepth3_XUnionDepth2_All{F5: {F11: {F16: 0}}}}",
		Target: XArray3_Any{
			[]XArray1_String{
				{
					"eΔΘΠΣΦ王普",
				},
				{},
				{},
			},
			map[XString]struct{}{
				"bcdeΔΘΠΣΦ王普澤": struct{}{},
				"普澤":           struct{}{},
			},
			XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{}}}),
		},
		SourceLabel: "[]any{[]XArray1_String{{\"eΔΘΠΣΦ王普\"}, {}, {}}, set[XString]{\"bcdeΔΘΠΣΦ王普澤\", \"普澤\"}, XUnionDepth3_XUnionDepth2_All{F5: {F11: {F16: 0}}}}",
		Source: []interface{}{
			[]XArray1_String{
				{
					"eΔΘΠΣΦ王普",
				},
				{},
				{},
			},
			map[XString]struct{}{
				"bcdeΔΘΠΣΦ王普澤": struct{}{},
				"普澤":           struct{}{},
			},
			XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{}}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_Bool{}",
		Target:      XArray3_Bool{},
		SourceLabel: "XArray3_Bool{}",
		Source:      XArray3_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Bool{}",
		Target:      XArray3_Bool{},
		SourceLabel: "[]any{false, false, false}",
		Source: []interface{}{
			false,
			false,
			false,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Bool{}",
		Target:      XArray3_Bool{},
		SourceLabel: "XArray3_XBool{}",
		Source:      XArray3_XBool{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_Bool{true, true, true}",
		Target: XArray3_Bool{
			true,
			true,
			true,
		},
		SourceLabel: "XArray3_Bool{true, true, true}",
		Source: XArray3_Bool{
			true,
			true,
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_Bool{true, true, true}",
		Target: XArray3_Bool{
			true,
			true,
			true,
		},
		SourceLabel: "XList_XBool{true, true, true}",
		Source: XList_XBool{
			true,
			true,
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_XBool{}",
		Target:      XArray3_XBool{},
		SourceLabel: "XArray3_XBool{}",
		Source:      XArray3_XBool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XBool{}",
		Target:      XArray3_XBool{},
		SourceLabel: "[]any{XBool(false), XBool(false), XBool(false)}",
		Source: []interface{}{
			XBool(false),
			XBool(false),
			XBool(false),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XBool{}",
		Target:      XArray3_XBool{},
		SourceLabel: "XList_XBool{false, false, false}",
		Source: XList_XBool{
			false,
			false,
			false,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_XBool{true, true, true}",
		Target: XArray3_XBool{
			true,
			true,
			true,
		},
		SourceLabel: "XArray3_XBool{true, true, true}",
		Source: XArray3_XBool{
			true,
			true,
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_XBool{true, true, true}",
		Target: XArray3_XBool{
			true,
			true,
			true,
		},
		SourceLabel: "XList_XBool{true, true, true}",
		Source: XList_XBool{
			true,
			true,
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_String{}",
		Target:      XArray1_String{},
		SourceLabel: "XArray1_String{}",
		Source:      XArray1_String{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_String{}",
		Target:      XArray1_String{},
		SourceLabel: "XList_Any{\"\"}",
		Source: XList_Any{
			"",
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_String{}",
		Target:      XArray1_String{},
		SourceLabel: "XList_XString{\"\"}",
		Source: XList_XString{
			"",
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]string{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []string{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_String{\"cdeΔ\"}",
		Target: XArray1_String{
			"cdeΔ",
		},
		SourceLabel: "XArray1_String{\"cdeΔ\"}",
		Source: XArray1_String{
			"cdeΔ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_String{\"cdeΔ\"}",
		Target: XArray1_String{
			"cdeΔ",
		},
		SourceLabel: "XList_Any{\"cdeΔ\"}",
		Source: XList_Any{
			"cdeΔ",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_XString{}",
		Target:      XArray3_XString{},
		SourceLabel: "XArray3_XString{}",
		Source:      XArray3_XString{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XString{}",
		Target:      XArray3_XString{},
		SourceLabel: "XArray3_Any{XString(\"\"), XString(\"\"), XString(\"\")}",
		Source: XArray3_Any{
			XString(""),
			XString(""),
			XString(""),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XString{}",
		Target:      XArray3_XString{},
		SourceLabel: "[]string{\"\", \"\", \"\"}",
		Source: []string{
			"",
			"",
			"",
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_XString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XArray3_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XArray3_XString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XArray3_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_XString{\"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\", \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XArray3_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]any{XString(\"abcdeΔΘΠΣΦ王普澤世界\"), XString(\"abcdeΔΘΠΣΦ王普澤世界\"), XString(\"abcdeΔΘΠΣΦ王普澤世界\")}",
		Source: []interface{}{
			XString("abcdeΔΘΠΣΦ王普澤世界"),
			XString("abcdeΔΘΠΣΦ王普澤世界"),
			XString("abcdeΔΘΠΣΦ王普澤世界"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_XString{\"eΔ\", \"ΔΘΠΣ\", \"ΠΣΦ王普澤世\"}",
		Target: XArray3_XString{
			"eΔ",
			"ΔΘΠΣ",
			"ΠΣΦ王普澤世",
		},
		SourceLabel: "XArray3_XString{\"eΔ\", \"ΔΘΠΣ\", \"ΠΣΦ王普澤世\"}",
		Source: XArray3_XString{
			"eΔ",
			"ΔΘΠΣ",
			"ΠΣΦ王普澤世",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_XString{\"eΔ\", \"ΔΘΠΣ\", \"ΠΣΦ王普澤世\"}",
		Target: XArray3_XString{
			"eΔ",
			"ΔΘΠΣ",
			"ΠΣΦ王普澤世",
		},
		SourceLabel: "[]any{XString(\"eΔ\"), XString(\"ΔΘΠΣ\"), XString(\"ΠΣΦ王普澤世\")}",
		Source: []interface{}{
			XString("eΔ"),
			XString("ΔΘΠΣ"),
			XString("ΠΣΦ王普澤世"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_TypeObject{}",
		Target: XArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XArray2_TypeObject{}",
		Source: XArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_TypeObject{}",
		Target: XArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "[]typeobject{typeobject(any), typeobject(any)}",
		Source: []*vdl.Type{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_TypeObject{}",
		Target: XArray2_TypeObject{
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XList_Any{typeobject(any), typeobject(any)}",
		Source: XList_Any{
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Target: XArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
		SourceLabel: "XArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Source: XArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_TypeObject{typeobject(int64), typeobject(int64)}",
		Target: XArray2_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
		SourceLabel: "XList_TypeObject{typeobject(int64), typeobject(int64)}",
		Source: XList_TypeObject{
			vdl.Int64Type,
			vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_TypeObject{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Target: XArray2_TypeObject{
			__VDLType_struct_290,
			__VDLType_float32_291,
		},
		SourceLabel: "XArray2_TypeObject{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Source: XArray2_TypeObject{
			__VDLType_struct_290,
			__VDLType_float32_291,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_TypeObject{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Target: XArray2_TypeObject{
			__VDLType_struct_290,
			__VDLType_float32_291,
		},
		SourceLabel: "[]any{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Source: []interface{}{
			__VDLType_struct_290,
			__VDLType_float32_291,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_Byte(\"\\x00\")",
		Target:      XArray1_Byte{},
		SourceLabel: "XArray1_Byte(\"\\x00\")",
		Source:      XArray1_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Byte(\"\\x00\")",
		Target:      XArray1_Byte{},
		SourceLabel: "XList_XFloat32{0}",
		Source: XList_XFloat32{
			0,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Byte(\"\\x00\")",
		Target:      XArray1_Byte{},
		SourceLabel: "[]XUint32{0}",
		Source: []XUint32{
			0,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_Byte(\"{\")",
		Target: XArray1_Byte{
			123,
		},
		SourceLabel: "XArray1_Byte(\"{\")",
		Source: XArray1_Byte{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_Byte(\"{\")",
		Target: XArray1_Byte{
			123,
		},
		SourceLabel: "XList_XByte(\"{\")",
		Source:      XList_XByte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_Byte(\"\\xfc\")",
		Target: XArray1_Byte{
			252,
		},
		SourceLabel: "XArray1_Byte(\"\\xfc\")",
		Source: XArray1_Byte{
			252,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_Byte(\"\\xfc\")",
		Target: XArray1_Byte{
			252,
		},
		SourceLabel: "XList_Byte(\"\\xfc\")",
		Source:      XList_Byte("\xfc"),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XByte(\"\\x00\\x00\")",
		Target:      XArray2_XByte{},
		SourceLabel: "XArray2_XByte(\"\\x00\\x00\")",
		Source:      XArray2_XByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XByte(\"\\x00\\x00\")",
		Target:      XArray2_XByte{},
		SourceLabel: "XList_Byte(\"\\x00\\x00\")",
		Source:      XList_Byte("\x00\x00"),
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XByte(\"\\x00\\x00\")",
		Target:      XArray2_XByte{},
		SourceLabel: "[]int16{0, 0}",
		Source: []int16{
			0,
			0,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XByte(\"{{\")",
		Target: XArray2_XByte{
			123,
			123,
		},
		SourceLabel: "XArray2_XByte(\"{{\")",
		Source: XArray2_XByte{
			123,
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XByte(\"{{\")",
		Target: XArray2_XByte{
			123,
			123,
		},
		SourceLabel: "XList_Byte(\"{{\")",
		Source:      XList_Byte("{{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_XByte(\"F?\")",
		Target: XArray2_XByte{
			70,
			63,
		},
		SourceLabel: "XArray2_XByte(\"F?\")",
		Source: XArray2_XByte{
			70,
			63,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_XByte(\"F?\")",
		Target: XArray2_XByte{
			70,
			63,
		},
		SourceLabel: "[]any{XByte(70), XByte(63)}",
		Source: []interface{}{
			XByte(70),
			XByte(63),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumAbc{}",
		Target:      XArray2_XEnumAbc{},
		SourceLabel: "XArray2_XEnumAbc{}",
		Source:      XArray2_XEnumAbc{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumAbc{}",
		Target:      XArray2_XEnumAbc{},
		SourceLabel: "[]string{\"A\", \"A\"}",
		Source: []string{
			"A",
			"A",
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumAbc{}",
		Target:      XArray2_XEnumAbc{},
		SourceLabel: "[]any{XEnumAbc.A, XEnumAbc.A}",
		Source: []interface{}{
			XEnumAbcA,
			XEnumAbcA,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XEnumAbc{C, C}",
		Target: XArray2_XEnumAbc{
			XEnumAbcC,
			XEnumAbcC,
		},
		SourceLabel: "XArray2_XEnumAbc{C, C}",
		Source: XArray2_XEnumAbc{
			XEnumAbcC,
			XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XEnumAbc{C, C}",
		Target: XArray2_XEnumAbc{
			XEnumAbcC,
			XEnumAbcC,
		},
		SourceLabel: "[]string{\"C\", \"C\"}",
		Source: []string{
			"C",
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumBcd{}",
		Target:      XArray2_XEnumBcd{},
		SourceLabel: "XArray2_XEnumBcd{}",
		Source:      XArray2_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumBcd{}",
		Target:      XArray2_XEnumBcd{},
		SourceLabel: "XList_XEnumAbc{B, B}",
		Source: XList_XEnumAbc{
			XEnumAbcB,
			XEnumAbcB,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XEnumBcd{}",
		Target:      XArray2_XEnumBcd{},
		SourceLabel: "XList_Any{XEnumBcd.B, XEnumBcd.B}",
		Source: XList_Any{
			XEnumBcdB,
			XEnumBcdB,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XEnumBcd{D, D}",
		Target: XArray2_XEnumBcd{
			XEnumBcdD,
			XEnumBcdD,
		},
		SourceLabel: "XArray2_XEnumBcd{D, D}",
		Source: XArray2_XEnumBcd{
			XEnumBcdD,
			XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XEnumBcd{D, D}",
		Target: XArray2_XEnumBcd{
			XEnumBcdD,
			XEnumBcdD,
		},
		SourceLabel: "[]string{\"D\", \"D\"}",
		Source: []string{
			"D",
			"D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_XStructEmpty{}",
		Target:      XArray1_XStructEmpty{},
		SourceLabel: "XArray1_XStructEmpty{}",
		Source:      XArray1_XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XStructEmpty{}",
		Target:      XArray1_XStructEmpty{},
		SourceLabel: "XList_XStructEmpty{{}}",
		Source: XList_XStructEmpty{
			{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XStructEmpty{}",
		Target:      XArray1_XStructEmpty{},
		SourceLabel: "XList_Error{{}}",
		Source: XList_Error{
			verror.FromWire(&vdl.WireError{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_XNamedError{}",
		Target:      XArray1_XNamedError{},
		SourceLabel: "XArray1_XNamedError{}",
		Source:      XArray1_XNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XNamedError{}",
		Target:      XArray1_XNamedError{},
		SourceLabel: "XArray1_XStructEmpty{}",
		Source:      XArray1_XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XNamedError{}",
		Target:      XArray1_XNamedError{},
		SourceLabel: "XList_XNamedError{{}}",
		Source: XList_XNamedError{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray1_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XArray1_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XArray1_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray1_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_XNamedError{{Id: \"bcde\", Msg: \"ΔΘΠΣΦ\"}}",
		Target: XArray1_XNamedError{
			{
				Id:  "bcde",
				Msg: "ΔΘΠΣΦ",
			},
		},
		SourceLabel: "XArray1_XNamedError{{Id: \"bcde\", Msg: \"ΔΘΠΣΦ\"}}",
		Source: XArray1_XNamedError{
			{
				Id:  "bcde",
				Msg: "ΔΘΠΣΦ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_XNamedError{{Id: \"bcde\", Msg: \"ΔΘΠΣΦ\"}}",
		Target: XArray1_XNamedError{
			{
				Id:  "bcde",
				Msg: "ΔΘΠΣΦ",
			},
		},
		SourceLabel: "[]any{XNamedError{Id: \"bcde\", Msg: \"ΔΘΠΣΦ\"}}",
		Source: []interface{}{
			XNamedError{
				Id:  "bcde",
				Msg: "ΔΘΠΣΦ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_Error{}",
		Target:      XArray2_Error{},
		SourceLabel: "XArray2_Error{}",
		Source:      XArray2_Error{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Error{}",
		Target:      XArray2_Error{},
		SourceLabel: "XList_Any{nil, nil}",
		Source: XList_Any{
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Error{}",
		Target:      XArray2_Error{},
		SourceLabel: "[]?XStructEmpty{nil, nil}",
		Source: []*XStructEmpty{
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "XArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_Error{{Id: \"普\", RetryCode: RetryBackoff, Msg: \"bcde\"}, {Id: \"cdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠ\"}}",
		Target: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcde",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "cdeΔΘΠ",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcdeΔΘΠ",
			}),
		},
		SourceLabel: "XArray2_Error{{Id: \"普\", RetryCode: RetryBackoff, Msg: \"bcde\"}, {Id: \"cdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠ\"}}",
		Source: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcde",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "cdeΔΘΠ",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcdeΔΘΠ",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_Error{{Id: \"普\", RetryCode: RetryBackoff, Msg: \"bcde\"}, {Id: \"cdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠ\"}}",
		Target: XArray2_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcde",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "cdeΔΘΠ",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcdeΔΘΠ",
			}),
		},
		SourceLabel: "[]error{{Id: \"普\", RetryCode: RetryBackoff, Msg: \"bcde\"}, {Id: \"cdeΔΘΠ\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠ\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{
				Id:        "普",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcde",
			}),
			verror.FromWire(&vdl.WireError{
				Id:        "cdeΔΘΠ",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "bcdeΔΘΠ",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_Uint32{}",
		Target:      XArray1_Uint32{},
		SourceLabel: "XArray1_Uint32{}",
		Source:      XArray1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Uint32{}",
		Target:      XArray1_Uint32{},
		SourceLabel: "XList_XUint16{0}",
		Source: XList_XUint16{
			0,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Uint32{}",
		Target:      XArray1_Uint32{},
		SourceLabel: "XList_XFloat32{0}",
		Source: XList_XFloat32{
			0,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_Uint32{123}",
		Target: XArray1_Uint32{
			123,
		},
		SourceLabel: "XArray1_Uint32{123}",
		Source: XArray1_Uint32{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_Uint32{123}",
		Target: XArray1_Uint32{
			123,
		},
		SourceLabel: "XList_XFloat32{123}",
		Source: XList_XFloat32{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_Uint32{3904439513}",
		Target: XArray1_Uint32{
			3904439513,
		},
		SourceLabel: "XArray1_Uint32{3904439513}",
		Source: XArray1_Uint32{
			3904439513,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_Uint32{3904439513}",
		Target: XArray1_Uint32{
			3904439513,
		},
		SourceLabel: "[]XUint32{3904439513}",
		Source: []XUint32{
			3904439513,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_Uint64{}",
		Target:      XArray3_Uint64{},
		SourceLabel: "XArray3_Uint64{}",
		Source:      XArray3_Uint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Uint64{}",
		Target:      XArray3_Uint64{},
		SourceLabel: "XList_Any{uint64(0), uint64(0), uint64(0)}",
		Source: XList_Any{
			uint64(0),
			uint64(0),
			uint64(0),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Uint64{}",
		Target:      XArray3_Uint64{},
		SourceLabel: "XList_Byte(\"\\x00\\x00\\x00\")",
		Source:      XList_Byte("\x00\x00\x00"),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_Uint64{123, 123, 123}",
		Target: XArray3_Uint64{
			123,
			123,
			123,
		},
		SourceLabel: "XArray3_Uint64{123, 123, 123}",
		Source: XArray3_Uint64{
			123,
			123,
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_Uint64{123, 123, 123}",
		Target: XArray3_Uint64{
			123,
			123,
			123,
		},
		SourceLabel: "XArray3_Int64{123, 123, 123}",
		Source: XArray3_Int64{
			123,
			123,
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_Uint64{2212711876096953152, 9221979473416152299, 9970187274538215395}",
		Target: XArray3_Uint64{
			2212711876096953152,
			9221979473416152299,
			9970187274538215395,
		},
		SourceLabel: "XArray3_Uint64{2212711876096953152, 9221979473416152299, 9970187274538215395}",
		Source: XArray3_Uint64{
			2212711876096953152,
			9221979473416152299,
			9970187274538215395,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_Uint64{2212711876096953152, 9221979473416152299, 9970187274538215395}",
		Target: XArray3_Uint64{
			2212711876096953152,
			9221979473416152299,
			9970187274538215395,
		},
		SourceLabel: "XArray3_Any{uint64(2212711876096953152), uint64(9221979473416152299), uint64(9970187274538215395)}",
		Source: XArray3_Any{
			uint64(2212711876096953152),
			uint64(9221979473416152299),
			uint64(9970187274538215395),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_Int64{}",
		Target:      XArray3_Int64{},
		SourceLabel: "XArray3_Int64{}",
		Source:      XArray3_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Int64{}",
		Target:      XArray3_Int64{},
		SourceLabel: "XList_XUint16{0, 0, 0}",
		Source: XList_XUint16{
			0,
			0,
			0,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Int64{}",
		Target:      XArray3_Int64{},
		SourceLabel: "XList_Any{int64(0), int64(0), int64(0)}",
		Source: XList_Any{
			int64(0),
			int64(0),
			int64(0),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_Int64{-123, -123, -123}",
		Target: XArray3_Int64{
			-123,
			-123,
			-123,
		},
		SourceLabel: "XArray3_Int64{-123, -123, -123}",
		Source: XArray3_Int64{
			-123,
			-123,
			-123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_Int64{-123, -123, -123}",
		Target: XArray3_Int64{
			-123,
			-123,
			-123,
		},
		SourceLabel: "[]int16{-123, -123, -123}",
		Source: []int16{
			-123,
			-123,
			-123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_Int64{-3233461802653517105, -768419110883423534, 2324661587567982015}",
		Target: XArray3_Int64{
			-3233461802653517105,
			-768419110883423534,
			2324661587567982015,
		},
		SourceLabel: "XArray3_Int64{-3233461802653517105, -768419110883423534, 2324661587567982015}",
		Source: XArray3_Int64{
			-3233461802653517105,
			-768419110883423534,
			2324661587567982015,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_Int64{-3233461802653517105, -768419110883423534, 2324661587567982015}",
		Target: XArray3_Int64{
			-3233461802653517105,
			-768419110883423534,
			2324661587567982015,
		},
		SourceLabel: "XList_Any{int64(-3233461802653517105), int64(-768419110883423534), int64(2324661587567982015)}",
		Source: XList_Any{
			int64(-3233461802653517105),
			int64(-768419110883423534),
			int64(2324661587567982015),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_OptXStructEmpty{}",
		Target:      XArray1_OptXStructEmpty{},
		SourceLabel: "XArray1_OptXStructEmpty{}",
		Source:      XArray1_OptXStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_OptXStructEmpty{}",
		Target:      XArray1_OptXStructEmpty{},
		SourceLabel: "XList_Error{nil}",
		Source: XList_Error{
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_OptXStructEmpty{}",
		Target:      XArray1_OptXStructEmpty{},
		SourceLabel: "XList_Any{nil}",
		Source: XList_Any{
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_OptXStructEmpty{{}}",
		Target: XArray1_OptXStructEmpty{
			{},
		},
		SourceLabel: "XArray1_OptXStructEmpty{{}}",
		Source: XArray1_OptXStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_OptXStructEmpty{{}}",
		Target: XArray1_OptXStructEmpty{
			{},
		},
		SourceLabel: "XList_XStructEmpty{{}}",
		Source: XList_XStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_OptXNamedError{}",
		Target:      XArray3_OptXNamedError{},
		SourceLabel: "XArray3_OptXNamedError{}",
		Source:      XArray3_OptXNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXNamedError{}",
		Target:      XArray3_OptXNamedError{},
		SourceLabel: "[]?XStructEmpty{nil, nil, nil}",
		Source: []*XStructEmpty{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXNamedError{}",
		Target:      XArray3_OptXNamedError{},
		SourceLabel: "XList_OptXNamedError{nil, nil, nil}",
		Source: XList_OptXNamedError{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray3_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XArray3_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XArray3_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XArray3_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_OptXNamedError{{Id: \"ΠΣΦ王\", Msg: \"eΔΘΠΣΦ王普澤\"}, {Msg: \"eΔΘΠΣΦ\"}, nil}",
		Target: XArray3_OptXNamedError{
			{
				Id:  "ΠΣΦ王",
				Msg: "eΔΘΠΣΦ王普澤",
			},
			{
				Msg: "eΔΘΠΣΦ",
			},
			nil,
		},
		SourceLabel: "XArray3_OptXNamedError{{Id: \"ΠΣΦ王\", Msg: \"eΔΘΠΣΦ王普澤\"}, {Msg: \"eΔΘΠΣΦ\"}, nil}",
		Source: XArray3_OptXNamedError{
			{
				Id:  "ΠΣΦ王",
				Msg: "eΔΘΠΣΦ王普澤",
			},
			{
				Msg: "eΔΘΠΣΦ",
			},
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_OptXNamedError{{Id: \"ΠΣΦ王\", Msg: \"eΔΘΠΣΦ王普澤\"}, {Msg: \"eΔΘΠΣΦ\"}, nil}",
		Target: XArray3_OptXNamedError{
			{
				Id:  "ΠΣΦ王",
				Msg: "eΔΘΠΣΦ王普澤",
			},
			{
				Msg: "eΔΘΠΣΦ",
			},
			nil,
		},
		SourceLabel: "XList_OptXNamedError{{Id: \"ΠΣΦ王\", Msg: \"eΔΘΠΣΦ王普澤\"}, {Msg: \"eΔΘΠΣΦ\"}, nil}",
		Source: XList_OptXNamedError{
			{
				Id:  "ΠΣΦ王",
				Msg: "eΔΘΠΣΦ王普澤",
			},
			{
				Msg: "eΔΘΠΣΦ",
			},
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XBool{}",
		Target:      []XBool(nil),
		SourceLabel: "[]XBool{}",
		Source:      []XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XBool{}",
		Target:      []XBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XBool{}",
		Target:      []XBool(nil),
		SourceLabel: "[]bool{}",
		Source:      []bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XBool{true}",
		Target: []XBool{
			true,
		},
		SourceLabel: "[]XBool{true}",
		Source: []XBool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XBool{true}",
		Target: []XBool{
			true,
		},
		SourceLabel: "[]bool{true}",
		Source: []bool{
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XString{}",
		Target:      []XString(nil),
		SourceLabel: "[]XString{}",
		Source:      []XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XString{}",
		Target:      []XString(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XString{}",
		Target:      []XString(nil),
		SourceLabel: "[]XEnumBcd{}",
		Source:      []XEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: []XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]any{XString(\"abcdeΔΘΠΣΦ王普澤世界\")}",
		Source: []interface{}{
			XString("abcdeΔΘΠΣΦ王普澤世界"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XString{\"deΔΘΠΣ\"}",
		Target: []XString{
			"deΔΘΠΣ",
		},
		SourceLabel: "[]XString{\"deΔΘΠΣ\"}",
		Source: []XString{
			"deΔΘΠΣ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XString{\"deΔΘΠΣ\"}",
		Target: []XString{
			"deΔΘΠΣ",
		},
		SourceLabel: "[]any{XString(\"deΔΘΠΣ\")}",
		Source: []interface{}{
			XString("deΔΘΠΣ"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XByte(\"\")",
		Target:      []XByte(nil),
		SourceLabel: "[]XByte(\"\")",
		Source:      []XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XByte(\"\")",
		Target:      []XByte(nil),
		SourceLabel: "[]byte(\"\")",
		Source:      []byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XByte(\"\")",
		Target:      []XByte(nil),
		SourceLabel: "[]uint32{}",
		Source:      []uint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XByte(\"{\")",
		Target:      []XByte("{"),
		SourceLabel: "[]XByte(\"{\")",
		Source:      []XByte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "[]XByte(\"{\")",
		Target:      []XByte("{"),
		SourceLabel: "XList_XFloat64{123}",
		Source: XList_XFloat64{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XByte(\"\\xea\\x00\\x87\")",
		Target:      []XByte("\xea\x00\x87"),
		SourceLabel: "[]XByte(\"\\xea\\x00\\x87\")",
		Source:      []XByte("\xea\x00\x87"),
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XByte(\"\\xea\\x00\\x87\")",
		Target:      []XByte("\xea\x00\x87"),
		SourceLabel: "XArray3_Any{XByte(234), XByte(0), XByte(135)}",
		Source: XArray3_Any{
			XByte(234),
			XByte(0),
			XByte(135),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XEnumAbc{}",
		Target:      []XEnumAbc(nil),
		SourceLabel: "[]XEnumAbc{}",
		Source:      []XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XEnumAbc{}",
		Target:      []XEnumAbc(nil),
		SourceLabel: "XList_String{}",
		Source:      XList_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XEnumAbc{}",
		Target:      []XEnumAbc(nil),
		SourceLabel: "[]XEnumBcd{}",
		Source:      []XEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XEnumAbc{C}",
		Target: []XEnumAbc{
			XEnumAbcC,
		},
		SourceLabel: "[]XEnumAbc{C}",
		Source: []XEnumAbc{
			XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XEnumAbc{C}",
		Target: []XEnumAbc{
			XEnumAbcC,
		},
		SourceLabel: "XList_XString{\"C\"}",
		Source: XList_XString{
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XEnumBcd{}",
		Target:      []XEnumBcd(nil),
		SourceLabel: "[]XEnumBcd{}",
		Source:      []XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XEnumBcd{}",
		Target:      []XEnumBcd(nil),
		SourceLabel: "[]XEnumAbc{}",
		Source:      []XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XEnumBcd{}",
		Target:      []XEnumBcd(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XEnumBcd{D}",
		Target: []XEnumBcd{
			XEnumBcdD,
		},
		SourceLabel: "[]XEnumBcd{D}",
		Source: []XEnumBcd{
			XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XEnumBcd{D}",
		Target: []XEnumBcd{
			XEnumBcdD,
		},
		SourceLabel: "XList_XEnumBcd{D}",
		Source: XList_XEnumBcd{
			XEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XStructEmpty{}",
		Target:      []XStructEmpty(nil),
		SourceLabel: "[]XStructEmpty{}",
		Source:      []XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructEmpty{}",
		Target:      []XStructEmpty(nil),
		SourceLabel: "XList_XStructDepth2_All{}",
		Source:      XList_XStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructEmpty{}",
		Target:      []XStructEmpty(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XStructEmpty{{}}",
		Target: []XStructEmpty{
			{},
		},
		SourceLabel: "[]XStructEmpty{{}}",
		Source: []XStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XStructEmpty{{}}",
		Target: []XStructEmpty{
			{},
		},
		SourceLabel: "XArray1_OptXStructEmpty{{}}",
		Source: XArray1_OptXStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XNamedError{}",
		Target:      []XNamedError(nil),
		SourceLabel: "[]XNamedError{}",
		Source:      []XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XNamedError{}",
		Target:      []XNamedError(nil),
		SourceLabel: "[]?XNamedError{}",
		Source:      []*XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XNamedError{}",
		Target:      []XNamedError(nil),
		SourceLabel: "XList_OptXNamedError{}",
		Source:      XList_OptXNamedError(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XArray1_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XArray1_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XNamedError{{Id: \"eΔΘΠΣΦ王普\"}}",
		Target: []XNamedError{
			{
				Id: "eΔΘΠΣΦ王普",
			},
		},
		SourceLabel: "[]XNamedError{{Id: \"eΔΘΠΣΦ王普\"}}",
		Source: []XNamedError{
			{
				Id: "eΔΘΠΣΦ王普",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XNamedError{{Id: \"eΔΘΠΣΦ王普\"}}",
		Target: []XNamedError{
			{
				Id: "eΔΘΠΣΦ王普",
			},
		},
		SourceLabel: "XArray1_XNamedError{{Id: \"eΔΘΠΣΦ王普\"}}",
		Source: XArray1_XNamedError{
			{
				Id: "eΔΘΠΣΦ王普",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XUint32{}",
		Target:      []XUint32(nil),
		SourceLabel: "[]XUint32{}",
		Source:      []XUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUint32{}",
		Target:      []XUint32(nil),
		SourceLabel: "XList_XFloat32{}",
		Source:      XList_XFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUint32{}",
		Target:      []XUint32(nil),
		SourceLabel: "XList_Byte(\"\")",
		Source:      XList_Byte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XUint32{123}",
		Target: []XUint32{
			123,
		},
		SourceLabel: "[]XUint32{123}",
		Source: []XUint32{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XUint32{123}",
		Target: []XUint32{
			123,
		},
		SourceLabel: "[]XByte(\"{\")",
		Source:      []XByte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XUint32{2295850354, 0, 1793176866}",
		Target: []XUint32{
			2295850354,
			0,
			1793176866,
		},
		SourceLabel: "[]XUint32{2295850354, 0, 1793176866}",
		Source: []XUint32{
			2295850354,
			0,
			1793176866,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XUint32{2295850354, 0, 1793176866}",
		Target: []XUint32{
			2295850354,
			0,
			1793176866,
		},
		SourceLabel: "[]uint32{2295850354, 0, 1793176866}",
		Source: []uint32{
			2295850354,
			0,
			1793176866,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?XStructEmpty{}",
		Target:      []*XStructEmpty(nil),
		SourceLabel: "[]?XStructEmpty{}",
		Source:      []*XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructEmpty{}",
		Target:      []*XStructEmpty(nil),
		SourceLabel: "XList_XNamedError{}",
		Source:      XList_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructEmpty{}",
		Target:      []*XStructEmpty(nil),
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Source:      XList_OptXStructDepth2_Set_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?XStructEmpty{{}}",
		Target: []*XStructEmpty{
			{},
		},
		SourceLabel: "[]?XStructEmpty{{}}",
		Source: []*XStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?XStructEmpty{{}}",
		Target: []*XStructEmpty{
			{},
		},
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{{}}",
		Source: XList_OptXStructDepth2_Set_Float64{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?XNamedError{}",
		Target:      []*XNamedError(nil),
		SourceLabel: "[]?XNamedError{}",
		Source:      []*XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XNamedError{}",
		Target:      []*XNamedError(nil),
		SourceLabel: "XList_OptXStructEmpty{}",
		Source:      XList_OptXStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XNamedError{}",
		Target:      []*XNamedError(nil),
		SourceLabel: "[]XStructEmpty{}",
		Source:      []XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []*XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]?XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []*XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []*XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_Any{?XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Any{
			&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]?XNamedError{{Id: \"cdeΔ\", Msg: \"普\"}}",
		Target: []*XNamedError{
			{
				Id:  "cdeΔ",
				Msg: "普",
			},
		},
		SourceLabel: "[]?XNamedError{{Id: \"cdeΔ\", Msg: \"普\"}}",
		Source: []*XNamedError{
			{
				Id:  "cdeΔ",
				Msg: "普",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]?XNamedError{{Id: \"cdeΔ\", Msg: \"普\"}}",
		Target: []*XNamedError{
			{
				Id:  "cdeΔ",
				Msg: "普",
			},
		},
		SourceLabel: "[]error{{Id: \"cdeΔ\", Msg: \"普\"}}",
		Source: []error{
			verror.FromWire(&vdl.WireError{
				Id:  "cdeΔ",
				Msg: "普",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_Any{}",
		Target:      XList_Any(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Any{}",
		Target:      XList_Any(nil),
		SourceLabel: "XList_XByte(\"\")",
		Source:      XList_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Any{}",
		Target:      XList_Any(nil),
		SourceLabel: "XList_XFloat64{}",
		Source:      XList_XFloat64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_Any{int64(-123)}",
		Target: XList_Any{
			int64(-123),
		},
		SourceLabel: "XList_Any{int64(-123)}",
		Source: XList_Any{
			int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_Any{int64(-123)}",
		Target: XList_Any{
			int64(-123),
		},
		SourceLabel: "[]any{int64(-123)}",
		Source: []interface{}{
			int64(-123),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_Any{XList_XStructDepth2_All{{F0: {typeobject(XList_XBool), typeobject(any)}, F2: {0, 9460, 0}, F3: {XMap_Int64_Int64{-3250308136845675012: 2395477512749041486}, []?XStructEmpty{nil, nil, {}}, XUnionDepth2_XSet_XNamedError{F5: {}}}, F5: {D}, F6: {125: 103, 21: 143}, F8: {F3: \"ΔΘΠΣ\", F4: \"cdeΔΘΠΣ\", F5: typeobject(XList_XStructDepth2_All), F7: 54, F8: B, F9: D, F12: {}, F13: 15251, F14: 63192, F16: 1842522911, F17: 12228096953452494076, F18: 14494677390024042662, F19: -1, F20: 29, F21: 1063, F22: 13145, F23: 1030636331, F24: 431566929, F25: 1264583878879273626, F26: -2337026213021984327, F28: -1.3296653e+09, F29: 1.5961664779262068e+09, F30: -2.340291718935576e+09, F31: {}}, F10: {F16: 686436023}, F11: {F29: 1.3667738643069172e+09}, F12: {F9: C}, F13: {F14: 22454}}, {F0: {typeobject(any), typeobject(XArray3_OptXStructDepth2_Set_Float64)}, F1: {1127016751}, F2: {-13306}, F3: {XList_XArray1_XStructEmpty{{}}}, F4: {-6.778491184605664e+08, 1.7797307435833848e+09}, F5: {C, D}, F6: {0: 0, 53: 102}, F8: {F0: XUnionDepth1_XFloat64{F30: 1.4220107318974495e+09}, F2: true, F3: \"deΔ\", F5: typeobject(uint64), F6: 85, F11: {Id: \"Θ\", Msg: \"cdeΔΘΠΣΦ王\"}, F12: {Msg: \"ΘΠΣΦ王普澤世\"}, F13: 65135, F15: 4015456916, F16: 33610517, F18: 13306481127868141452, F19: 45, F20: -41, F21: -10028, F22: 9052, F23: 900863731, F25: 1448358042041714939, F27: -1.146413e+09, F30: 8.547524778945721e+08, F31: {}, F32: {}}, F10: {F30: 2.366591380614784e+06}, F11: {F29: 8.137462937121485e+07}, F13: {}}}}",
		Target: XList_Any{
			XList_XStructDepth2_All{
				{
					F0: XArray2_TypeObject{
						__VDLType_list_292,
						vdl.AnyType,
					},
					F2: []int16{
						0,
						9460,
						0,
					},
					F3: XList_Any{
						XMap_Int64_Int64{
							-3250308136845675012: 2395477512749041486,
						},
						[]*XStructEmpty{
							nil,
							nil,
							{},
						},
						XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
					},
					F5: XSet_XEnumBcd{
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						125: 103,
						21:  143,
					},
					F8: XStructDepth1_All{
						F3:  "ΔΘΠΣ",
						F4:  "cdeΔΘΠΣ",
						F5:  __VDLType_list_293,
						F7:  54,
						F8:  XEnumAbcB,
						F9:  XEnumBcdD,
						F12: verror.FromWire(&vdl.WireError{}),
						F13: 15251,
						F14: 63192,
						F16: 1842522911,
						F17: 12228096953452494076,
						F18: 14494677390024042662,
						F19: -1,
						F20: 29,
						F21: 1063,
						F22: 13145,
						F23: 1030636331,
						F24: 431566929,
						F25: 1264583878879273626,
						F26: -2337026213021984327,
						F28: -1.3296653e+09,
						F29: 1.5961664779262068e+09,
						F30: -2.340291718935576e+09,
						F31: &XStructEmpty{},
					},
					F10: XUnionDepth1_AllF16{686436023},
					F11: XUnionDepth1_Float64F29{1.3667738643069172e+09},
					F12: &XStructDepth1_XEnumBcd{
						F9: XEnumBcdC,
					},
					F13: &XStructDepth1_XUint16{
						F14: 22454,
					},
				},
				{
					F0: XArray2_TypeObject{
						vdl.AnyType,
						__VDLType_array_294,
					},
					F1: XArray1_Uint32{
						1127016751,
					},
					F2: []int16{
						-13306,
					},
					F3: XList_Any{
						XList_XArray1_XStructEmpty{
							{},
						},
					},
					F4: map[float64]struct{}{
						-6.778491184605664e+08: struct{}{},
						1.7797307435833848e+09: struct{}{},
					},
					F5: XSet_XEnumBcd{
						XEnumBcdC: struct{}{},
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						0:  0,
						53: 102,
					},
					F8: XStructDepth1_All{
						F0: XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.4220107318974495e+09}),
						F2: true,
						F3: "deΔ",
						F5: vdl.Uint64Type,
						F6: 85,
						F11: XNamedError{
							Id:  "Θ",
							Msg: "cdeΔΘΠΣΦ王",
						},
						F12: verror.FromWire(&vdl.WireError{
							Msg: "ΘΠΣΦ王普澤世",
						}),
						F13: 65135,
						F15: 4015456916,
						F16: 33610517,
						F18: 13306481127868141452,
						F19: 45,
						F20: -41,
						F21: -10028,
						F22: 9052,
						F23: 900863731,
						F25: 1448358042041714939,
						F27: -1.146413e+09,
						F30: 8.547524778945721e+08,
						F31: &XStructEmpty{},
						F32: &XNamedError{},
					},
					F10: XUnionDepth1_AllF30{2.366591380614784e+06},
					F11: XUnionDepth1_Float64F29{8.137462937121485e+07},
					F13: &XStructDepth1_XUint16{},
				},
			},
		},
		SourceLabel: "XList_Any{XList_XStructDepth2_All{{F0: {typeobject(XList_XBool), typeobject(any)}, F2: {0, 9460, 0}, F3: {XMap_Int64_Int64{-3250308136845675012: 2395477512749041486}, []?XStructEmpty{nil, nil, {}}, XUnionDepth2_XSet_XNamedError{F5: {}}}, F5: {D}, F6: {125: 103, 21: 143}, F8: {F3: \"ΔΘΠΣ\", F4: \"cdeΔΘΠΣ\", F5: typeobject(XList_XStructDepth2_All), F7: 54, F8: B, F9: D, F12: {}, F13: 15251, F14: 63192, F16: 1842522911, F17: 12228096953452494076, F18: 14494677390024042662, F19: -1, F20: 29, F21: 1063, F22: 13145, F23: 1030636331, F24: 431566929, F25: 1264583878879273626, F26: -2337026213021984327, F28: -1.3296653e+09, F29: 1.5961664779262068e+09, F30: -2.340291718935576e+09, F31: {}}, F10: {F16: 686436023}, F11: {F29: 1.3667738643069172e+09}, F12: {F9: C}, F13: {F14: 22454}}, {F0: {typeobject(any), typeobject(XArray3_OptXStructDepth2_Set_Float64)}, F1: {1127016751}, F2: {-13306}, F3: {XList_XArray1_XStructEmpty{{}}}, F4: {-6.778491184605664e+08, 1.7797307435833848e+09}, F5: {C, D}, F6: {0: 0, 53: 102}, F8: {F0: XUnionDepth1_XFloat64{F30: 1.4220107318974495e+09}, F2: true, F3: \"deΔ\", F5: typeobject(uint64), F6: 85, F11: {Id: \"Θ\", Msg: \"cdeΔΘΠΣΦ王\"}, F12: {Msg: \"ΘΠΣΦ王普澤世\"}, F13: 65135, F15: 4015456916, F16: 33610517, F18: 13306481127868141452, F19: 45, F20: -41, F21: -10028, F22: 9052, F23: 900863731, F25: 1448358042041714939, F27: -1.146413e+09, F30: 8.547524778945721e+08, F31: {}, F32: {}}, F10: {F30: 2.366591380614784e+06}, F11: {F29: 8.137462937121485e+07}, F13: {}}}}",
		Source: XList_Any{
			XList_XStructDepth2_All{
				{
					F0: XArray2_TypeObject{
						__VDLType_list_292,
						vdl.AnyType,
					},
					F2: []int16{
						0,
						9460,
						0,
					},
					F3: XList_Any{
						XMap_Int64_Int64{
							-3250308136845675012: 2395477512749041486,
						},
						[]*XStructEmpty{
							nil,
							nil,
							{},
						},
						XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
					},
					F5: XSet_XEnumBcd{
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						125: 103,
						21:  143,
					},
					F8: XStructDepth1_All{
						F3:  "ΔΘΠΣ",
						F4:  "cdeΔΘΠΣ",
						F5:  __VDLType_list_293,
						F7:  54,
						F8:  XEnumAbcB,
						F9:  XEnumBcdD,
						F12: verror.FromWire(&vdl.WireError{}),
						F13: 15251,
						F14: 63192,
						F16: 1842522911,
						F17: 12228096953452494076,
						F18: 14494677390024042662,
						F19: -1,
						F20: 29,
						F21: 1063,
						F22: 13145,
						F23: 1030636331,
						F24: 431566929,
						F25: 1264583878879273626,
						F26: -2337026213021984327,
						F28: -1.3296653e+09,
						F29: 1.5961664779262068e+09,
						F30: -2.340291718935576e+09,
						F31: &XStructEmpty{},
					},
					F10: XUnionDepth1_AllF16{686436023},
					F11: XUnionDepth1_Float64F29{1.3667738643069172e+09},
					F12: &XStructDepth1_XEnumBcd{
						F9: XEnumBcdC,
					},
					F13: &XStructDepth1_XUint16{
						F14: 22454,
					},
				},
				{
					F0: XArray2_TypeObject{
						vdl.AnyType,
						__VDLType_array_294,
					},
					F1: XArray1_Uint32{
						1127016751,
					},
					F2: []int16{
						-13306,
					},
					F3: XList_Any{
						XList_XArray1_XStructEmpty{
							{},
						},
					},
					F4: map[float64]struct{}{
						-6.778491184605664e+08: struct{}{},
						1.7797307435833848e+09: struct{}{},
					},
					F5: XSet_XEnumBcd{
						XEnumBcdC: struct{}{},
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						0:  0,
						53: 102,
					},
					F8: XStructDepth1_All{
						F0: XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.4220107318974495e+09}),
						F2: true,
						F3: "deΔ",
						F5: vdl.Uint64Type,
						F6: 85,
						F11: XNamedError{
							Id:  "Θ",
							Msg: "cdeΔΘΠΣΦ王",
						},
						F12: verror.FromWire(&vdl.WireError{
							Msg: "ΘΠΣΦ王普澤世",
						}),
						F13: 65135,
						F15: 4015456916,
						F16: 33610517,
						F18: 13306481127868141452,
						F19: 45,
						F20: -41,
						F21: -10028,
						F22: 9052,
						F23: 900863731,
						F25: 1448358042041714939,
						F27: -1.146413e+09,
						F30: 8.547524778945721e+08,
						F31: &XStructEmpty{},
						F32: &XNamedError{},
					},
					F10: XUnionDepth1_AllF30{2.366591380614784e+06},
					F11: XUnionDepth1_Float64F29{8.137462937121485e+07},
					F13: &XStructDepth1_XUint16{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_Any{XList_XStructDepth2_All{{F0: {typeobject(XList_XBool), typeobject(any)}, F2: {0, 9460, 0}, F3: {XMap_Int64_Int64{-3250308136845675012: 2395477512749041486}, []?XStructEmpty{nil, nil, {}}, XUnionDepth2_XSet_XNamedError{F5: {}}}, F5: {D}, F6: {125: 103, 21: 143}, F8: {F3: \"ΔΘΠΣ\", F4: \"cdeΔΘΠΣ\", F5: typeobject(XList_XStructDepth2_All), F7: 54, F8: B, F9: D, F12: {}, F13: 15251, F14: 63192, F16: 1842522911, F17: 12228096953452494076, F18: 14494677390024042662, F19: -1, F20: 29, F21: 1063, F22: 13145, F23: 1030636331, F24: 431566929, F25: 1264583878879273626, F26: -2337026213021984327, F28: -1.3296653e+09, F29: 1.5961664779262068e+09, F30: -2.340291718935576e+09, F31: {}}, F10: {F16: 686436023}, F11: {F29: 1.3667738643069172e+09}, F12: {F9: C}, F13: {F14: 22454}}, {F0: {typeobject(any), typeobject(XArray3_OptXStructDepth2_Set_Float64)}, F1: {1127016751}, F2: {-13306}, F3: {XList_XArray1_XStructEmpty{{}}}, F4: {-6.778491184605664e+08, 1.7797307435833848e+09}, F5: {C, D}, F6: {0: 0, 53: 102}, F8: {F0: XUnionDepth1_XFloat64{F30: 1.4220107318974495e+09}, F2: true, F3: \"deΔ\", F5: typeobject(uint64), F6: 85, F11: {Id: \"Θ\", Msg: \"cdeΔΘΠΣΦ王\"}, F12: {Msg: \"ΘΠΣΦ王普澤世\"}, F13: 65135, F15: 4015456916, F16: 33610517, F18: 13306481127868141452, F19: 45, F20: -41, F21: -10028, F22: 9052, F23: 900863731, F25: 1448358042041714939, F27: -1.146413e+09, F30: 8.547524778945721e+08, F31: {}, F32: {}}, F10: {F30: 2.366591380614784e+06}, F11: {F29: 8.137462937121485e+07}, F13: {}}}}",
		Target: XList_Any{
			XList_XStructDepth2_All{
				{
					F0: XArray2_TypeObject{
						__VDLType_list_292,
						vdl.AnyType,
					},
					F2: []int16{
						0,
						9460,
						0,
					},
					F3: XList_Any{
						XMap_Int64_Int64{
							-3250308136845675012: 2395477512749041486,
						},
						[]*XStructEmpty{
							nil,
							nil,
							{},
						},
						XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
					},
					F5: XSet_XEnumBcd{
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						125: 103,
						21:  143,
					},
					F8: XStructDepth1_All{
						F3:  "ΔΘΠΣ",
						F4:  "cdeΔΘΠΣ",
						F5:  __VDLType_list_293,
						F7:  54,
						F8:  XEnumAbcB,
						F9:  XEnumBcdD,
						F12: verror.FromWire(&vdl.WireError{}),
						F13: 15251,
						F14: 63192,
						F16: 1842522911,
						F17: 12228096953452494076,
						F18: 14494677390024042662,
						F19: -1,
						F20: 29,
						F21: 1063,
						F22: 13145,
						F23: 1030636331,
						F24: 431566929,
						F25: 1264583878879273626,
						F26: -2337026213021984327,
						F28: -1.3296653e+09,
						F29: 1.5961664779262068e+09,
						F30: -2.340291718935576e+09,
						F31: &XStructEmpty{},
					},
					F10: XUnionDepth1_AllF16{686436023},
					F11: XUnionDepth1_Float64F29{1.3667738643069172e+09},
					F12: &XStructDepth1_XEnumBcd{
						F9: XEnumBcdC,
					},
					F13: &XStructDepth1_XUint16{
						F14: 22454,
					},
				},
				{
					F0: XArray2_TypeObject{
						vdl.AnyType,
						__VDLType_array_294,
					},
					F1: XArray1_Uint32{
						1127016751,
					},
					F2: []int16{
						-13306,
					},
					F3: XList_Any{
						XList_XArray1_XStructEmpty{
							{},
						},
					},
					F4: map[float64]struct{}{
						-6.778491184605664e+08: struct{}{},
						1.7797307435833848e+09: struct{}{},
					},
					F5: XSet_XEnumBcd{
						XEnumBcdC: struct{}{},
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						0:  0,
						53: 102,
					},
					F8: XStructDepth1_All{
						F0: XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.4220107318974495e+09}),
						F2: true,
						F3: "deΔ",
						F5: vdl.Uint64Type,
						F6: 85,
						F11: XNamedError{
							Id:  "Θ",
							Msg: "cdeΔΘΠΣΦ王",
						},
						F12: verror.FromWire(&vdl.WireError{
							Msg: "ΘΠΣΦ王普澤世",
						}),
						F13: 65135,
						F15: 4015456916,
						F16: 33610517,
						F18: 13306481127868141452,
						F19: 45,
						F20: -41,
						F21: -10028,
						F22: 9052,
						F23: 900863731,
						F25: 1448358042041714939,
						F27: -1.146413e+09,
						F30: 8.547524778945721e+08,
						F31: &XStructEmpty{},
						F32: &XNamedError{},
					},
					F10: XUnionDepth1_AllF30{2.366591380614784e+06},
					F11: XUnionDepth1_Float64F29{8.137462937121485e+07},
					F13: &XStructDepth1_XUint16{},
				},
			},
		},
		SourceLabel: "[]any{XList_XStructDepth2_All{{F0: {typeobject(XList_XBool), typeobject(any)}, F2: {0, 9460, 0}, F3: {XMap_Int64_Int64{-3250308136845675012: 2395477512749041486}, []?XStructEmpty{nil, nil, {}}, XUnionDepth2_XSet_XNamedError{F5: {}}}, F5: {D}, F6: {125: 103, 21: 143}, F8: {F3: \"ΔΘΠΣ\", F4: \"cdeΔΘΠΣ\", F5: typeobject(XList_XStructDepth2_All), F7: 54, F8: B, F9: D, F12: {}, F13: 15251, F14: 63192, F16: 1842522911, F17: 12228096953452494076, F18: 14494677390024042662, F19: -1, F20: 29, F21: 1063, F22: 13145, F23: 1030636331, F24: 431566929, F25: 1264583878879273626, F26: -2337026213021984327, F28: -1.3296653e+09, F29: 1.5961664779262068e+09, F30: -2.340291718935576e+09, F31: {}}, F10: {F16: 686436023}, F11: {F29: 1.3667738643069172e+09}, F12: {F9: C}, F13: {F14: 22454}}, {F0: {typeobject(any), typeobject(XArray3_OptXStructDepth2_Set_Float64)}, F1: {1127016751}, F2: {-13306}, F3: {XList_XArray1_XStructEmpty{{}}}, F4: {-6.778491184605664e+08, 1.7797307435833848e+09}, F5: {C, D}, F6: {0: 0, 53: 102}, F8: {F0: XUnionDepth1_XFloat64{F30: 1.4220107318974495e+09}, F2: true, F3: \"deΔ\", F5: typeobject(uint64), F6: 85, F11: {Id: \"Θ\", Msg: \"cdeΔΘΠΣΦ王\"}, F12: {Msg: \"ΘΠΣΦ王普澤世\"}, F13: 65135, F15: 4015456916, F16: 33610517, F18: 13306481127868141452, F19: 45, F20: -41, F21: -10028, F22: 9052, F23: 900863731, F25: 1448358042041714939, F27: -1.146413e+09, F30: 8.547524778945721e+08, F31: {}, F32: {}}, F10: {F30: 2.366591380614784e+06}, F11: {F29: 8.137462937121485e+07}, F13: {}}}}",
		Source: []interface{}{
			XList_XStructDepth2_All{
				{
					F0: XArray2_TypeObject{
						__VDLType_list_292,
						vdl.AnyType,
					},
					F2: []int16{
						0,
						9460,
						0,
					},
					F3: XList_Any{
						XMap_Int64_Int64{
							-3250308136845675012: 2395477512749041486,
						},
						[]*XStructEmpty{
							nil,
							nil,
							{},
						},
						XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
					},
					F5: XSet_XEnumBcd{
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						125: 103,
						21:  143,
					},
					F8: XStructDepth1_All{
						F3:  "ΔΘΠΣ",
						F4:  "cdeΔΘΠΣ",
						F5:  __VDLType_list_293,
						F7:  54,
						F8:  XEnumAbcB,
						F9:  XEnumBcdD,
						F12: verror.FromWire(&vdl.WireError{}),
						F13: 15251,
						F14: 63192,
						F16: 1842522911,
						F17: 12228096953452494076,
						F18: 14494677390024042662,
						F19: -1,
						F20: 29,
						F21: 1063,
						F22: 13145,
						F23: 1030636331,
						F24: 431566929,
						F25: 1264583878879273626,
						F26: -2337026213021984327,
						F28: -1.3296653e+09,
						F29: 1.5961664779262068e+09,
						F30: -2.340291718935576e+09,
						F31: &XStructEmpty{},
					},
					F10: XUnionDepth1_AllF16{686436023},
					F11: XUnionDepth1_Float64F29{1.3667738643069172e+09},
					F12: &XStructDepth1_XEnumBcd{
						F9: XEnumBcdC,
					},
					F13: &XStructDepth1_XUint16{
						F14: 22454,
					},
				},
				{
					F0: XArray2_TypeObject{
						vdl.AnyType,
						__VDLType_array_294,
					},
					F1: XArray1_Uint32{
						1127016751,
					},
					F2: []int16{
						-13306,
					},
					F3: XList_Any{
						XList_XArray1_XStructEmpty{
							{},
						},
					},
					F4: map[float64]struct{}{
						-6.778491184605664e+08: struct{}{},
						1.7797307435833848e+09: struct{}{},
					},
					F5: XSet_XEnumBcd{
						XEnumBcdC: struct{}{},
						XEnumBcdD: struct{}{},
					},
					F6: map[byte]byte{
						0:  0,
						53: 102,
					},
					F8: XStructDepth1_All{
						F0: XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.4220107318974495e+09}),
						F2: true,
						F3: "deΔ",
						F5: vdl.Uint64Type,
						F6: 85,
						F11: XNamedError{
							Id:  "Θ",
							Msg: "cdeΔΘΠΣΦ王",
						},
						F12: verror.FromWire(&vdl.WireError{
							Msg: "ΘΠΣΦ王普澤世",
						}),
						F13: 65135,
						F15: 4015456916,
						F16: 33610517,
						F18: 13306481127868141452,
						F19: 45,
						F20: -41,
						F21: -10028,
						F22: 9052,
						F23: 900863731,
						F25: 1448358042041714939,
						F27: -1.146413e+09,
						F30: 8.547524778945721e+08,
						F31: &XStructEmpty{},
						F32: &XNamedError{},
					},
					F10: XUnionDepth1_AllF30{2.366591380614784e+06},
					F11: XUnionDepth1_Float64F29{8.137462937121485e+07},
					F13: &XStructDepth1_XUint16{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_Bool{}",
		Target:      XList_Bool(nil),
		SourceLabel: "XList_Bool{}",
		Source:      XList_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Bool{}",
		Target:      XList_Bool(nil),
		SourceLabel: "[]XBool{}",
		Source:      []XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Bool{}",
		Target:      XList_Bool(nil),
		SourceLabel: "[]bool{}",
		Source:      []bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_Bool{true}",
		Target: XList_Bool{
			true,
		},
		SourceLabel: "XList_Bool{true}",
		Source: XList_Bool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_Bool{true}",
		Target: XList_Bool{
			true,
		},
		SourceLabel: "[]XBool{true}",
		Source: []XBool{
			true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XBool{}",
		Target:      XList_XBool(nil),
		SourceLabel: "XList_XBool{}",
		Source:      XList_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XBool{}",
		Target:      XList_XBool(nil),
		SourceLabel: "[]bool{}",
		Source:      []bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XBool{}",
		Target:      XList_XBool(nil),
		SourceLabel: "XList_Bool{}",
		Source:      XList_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XBool{true}",
		Target: XList_XBool{
			true,
		},
		SourceLabel: "XList_XBool{true}",
		Source: XList_XBool{
			true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XBool{true}",
		Target: XList_XBool{
			true,
		},
		SourceLabel: "[]any{XBool(true)}",
		Source: []interface{}{
			XBool(true),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_String{}",
		Target:      XList_String(nil),
		SourceLabel: "XList_String{}",
		Source:      XList_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_String{}",
		Target:      XList_String(nil),
		SourceLabel: "[]XEnumBcd{}",
		Source:      []XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_String{}",
		Target:      XList_String(nil),
		SourceLabel: "XList_XString{}",
		Source:      XList_XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XList_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XList_Any{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XList_Any{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_String{\"abcdeΔΘΠΣΦ王\", \"ΘΠΣΦ王普澤世\"}",
		Target: XList_String{
			"abcdeΔΘΠΣΦ王",
			"ΘΠΣΦ王普澤世",
		},
		SourceLabel: "XList_String{\"abcdeΔΘΠΣΦ王\", \"ΘΠΣΦ王普澤世\"}",
		Source: XList_String{
			"abcdeΔΘΠΣΦ王",
			"ΘΠΣΦ王普澤世",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_String{\"abcdeΔΘΠΣΦ王\", \"ΘΠΣΦ王普澤世\"}",
		Target: XList_String{
			"abcdeΔΘΠΣΦ王",
			"ΘΠΣΦ王普澤世",
		},
		SourceLabel: "[]XString{\"abcdeΔΘΠΣΦ王\", \"ΘΠΣΦ王普澤世\"}",
		Source: []XString{
			"abcdeΔΘΠΣΦ王",
			"ΘΠΣΦ王普澤世",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XString{}",
		Target:      XList_XString(nil),
		SourceLabel: "XList_XString{}",
		Source:      XList_XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XString{}",
		Target:      XList_XString(nil),
		SourceLabel: "XList_String{}",
		Source:      XList_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XString{}",
		Target:      XList_XString(nil),
		SourceLabel: "[]XEnumAbc{}",
		Source:      []XEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XList_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XList_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XList_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XList_XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "[]XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: []XString{
			"abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XString{\"de\"}",
		Target: XList_XString{
			"de",
		},
		SourceLabel: "XList_XString{\"de\"}",
		Source: XList_XString{
			"de",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XString{\"de\"}",
		Target: XList_XString{
			"de",
		},
		SourceLabel: "XList_String{\"de\"}",
		Source: XList_String{
			"de",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_TypeObject{}",
		Target:      XList_TypeObject(nil),
		SourceLabel: "XList_TypeObject{}",
		Source:      XList_TypeObject(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_TypeObject{}",
		Target:      XList_TypeObject(nil),
		SourceLabel: "[]typeobject{}",
		Source:      []*vdl.Type(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_TypeObject{}",
		Target:      XList_TypeObject(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_TypeObject{typeobject(int64)}",
		Target: XList_TypeObject{
			vdl.Int64Type,
		},
		SourceLabel: "XList_TypeObject{typeobject(int64)}",
		Source: XList_TypeObject{
			vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_TypeObject{typeobject(int64)}",
		Target: XList_TypeObject{
			vdl.Int64Type,
		},
		SourceLabel: "[]typeobject{typeobject(int64)}",
		Source: []*vdl.Type{
			vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_TypeObject{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Target: XList_TypeObject{
			__VDLType_union_295,
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XList_TypeObject{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Source: XList_TypeObject{
			__VDLType_union_295,
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_TypeObject{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Target: XList_TypeObject{
			__VDLType_union_295,
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XArray3_Any{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Source: XArray3_Any{
			__VDLType_union_295,
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_Byte(\"\")",
		Target:      XList_Byte(nil),
		SourceLabel: "XList_Byte(\"\")",
		Source:      XList_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Byte(\"\")",
		Target:      XList_Byte(nil),
		SourceLabel: "XList_XUint16{}",
		Source:      XList_XUint16(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Byte(\"\")",
		Target:      XList_Byte(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_Byte(\"{\")",
		Target:      XList_Byte("{"),
		SourceLabel: "XList_Byte(\"{\")",
		Source:      XList_Byte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "XList_Byte(\"{\")",
		Target:      XList_Byte("{"),
		SourceLabel: "[]byte(\"{\")",
		Source:      []byte("{"),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_Byte(\"\\x01\\xfe\")",
		Target:      XList_Byte("\x01\xfe"),
		SourceLabel: "XList_Byte(\"\\x01\\xfe\")",
		Source:      XList_Byte("\x01\xfe"),
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_Byte(\"\\x01\\xfe\")",
		Target:      XList_Byte("\x01\xfe"),
		SourceLabel: "[]XUint32{1, 254}",
		Source: []XUint32{
			1,
			254,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XByte(\"\")",
		Target:      XList_XByte(nil),
		SourceLabel: "XList_XByte(\"\")",
		Source:      XList_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XByte(\"\")",
		Target:      XList_XByte(nil),
		SourceLabel: "XList_XFloat64{}",
		Source:      XList_XFloat64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XByte(\"\")",
		Target:      XList_XByte(nil),
		SourceLabel: "[]XUint32{}",
		Source:      []XUint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XByte(\"{\")",
		Target:      XList_XByte("{"),
		SourceLabel: "XList_XByte(\"{\")",
		Source:      XList_XByte("{"),
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XByte(\"{\")",
		Target:      XList_XByte("{"),
		SourceLabel: "[]int16{123}",
		Source: []int16{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XByte(\"\\xb0aF\")",
		Target:      XList_XByte("\xb0aF"),
		SourceLabel: "XList_XByte(\"\\xb0aF\")",
		Source:      XList_XByte("\xb0aF"),
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XByte(\"\\xb0aF\")",
		Target:      XList_XByte("\xb0aF"),
		SourceLabel: "[]XUint32{176, 97, 70}",
		Source: []XUint32{
			176,
			97,
			70,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XEnumAbc{}",
		Target:      XList_XEnumAbc(nil),
		SourceLabel: "XList_XEnumAbc{}",
		Source:      XList_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XEnumAbc{}",
		Target:      XList_XEnumAbc(nil),
		SourceLabel: "[]XEnumBcd{}",
		Source:      []XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XEnumAbc{}",
		Target:      XList_XEnumAbc(nil),
		SourceLabel: "XList_XString{}",
		Source:      XList_XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XEnumAbc{C}",
		Target: XList_XEnumAbc{
			XEnumAbcC,
		},
		SourceLabel: "XList_XEnumAbc{C}",
		Source: XList_XEnumAbc{
			XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XEnumAbc{C}",
		Target: XList_XEnumAbc{
			XEnumAbcC,
		},
		SourceLabel: "XArray1_String{\"C\"}",
		Source: XArray1_String{
			"C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XEnumBcd{}",
		Target:      XList_XEnumBcd(nil),
		SourceLabel: "XList_XEnumBcd{}",
		Source:      XList_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XEnumBcd{}",
		Target:      XList_XEnumBcd(nil),
		SourceLabel: "XList_XString{}",
		Source:      XList_XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XEnumBcd{}",
		Target:      XList_XEnumBcd(nil),
		SourceLabel: "XList_XEnumAbc{}",
		Source:      XList_XEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XEnumBcd{D}",
		Target: XList_XEnumBcd{
			XEnumBcdD,
		},
		SourceLabel: "XList_XEnumBcd{D}",
		Source: XList_XEnumBcd{
			XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XEnumBcd{D}",
		Target: XList_XEnumBcd{
			XEnumBcdD,
		},
		SourceLabel: "[]any{XEnumBcd.D}",
		Source: []interface{}{
			XEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XStructEmpty{}",
		Target:      XList_XStructEmpty(nil),
		SourceLabel: "XList_XStructEmpty{}",
		Source:      XList_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructEmpty{}",
		Target:      XList_XStructEmpty(nil),
		SourceLabel: "[]error{}",
		Source:      []error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructEmpty{}",
		Target:      XList_XStructEmpty(nil),
		SourceLabel: "[]XStructEmpty{}",
		Source:      []XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XStructEmpty{{}}",
		Target: XList_XStructEmpty{
			{},
		},
		SourceLabel: "XList_XStructEmpty{{}}",
		Source: XList_XStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XStructEmpty{{}}",
		Target: XList_XStructEmpty{
			{},
		},
		SourceLabel: "[]?XStructDepth2_Set_Float64{{}}",
		Source: []*XStructDepth2_Set_Float64{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XNamedError{}",
		Target:      XList_XNamedError(nil),
		SourceLabel: "XList_XNamedError{}",
		Source:      XList_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XNamedError{}",
		Target:      XList_XNamedError(nil),
		SourceLabel: "[]XStructEmpty{}",
		Source:      []XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XNamedError{}",
		Target:      XList_XNamedError(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_Any{XNamedError{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Any{
			XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XNamedError{{Id: \"eΔΘΠΣ\", Msg: \"世界\"}, {Id: \"abc\"}, {Msg: \"ΘΠΣ\"}}",
		Target: XList_XNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "世界",
			},
			{
				Id: "abc",
			},
			{
				Msg: "ΘΠΣ",
			},
		},
		SourceLabel: "XList_XNamedError{{Id: \"eΔΘΠΣ\", Msg: \"世界\"}, {Id: \"abc\"}, {Msg: \"ΘΠΣ\"}}",
		Source: XList_XNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "世界",
			},
			{
				Id: "abc",
			},
			{
				Msg: "ΘΠΣ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XNamedError{{Id: \"eΔΘΠΣ\", Msg: \"世界\"}, {Id: \"abc\"}, {Msg: \"ΘΠΣ\"}}",
		Target: XList_XNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "世界",
			},
			{
				Id: "abc",
			},
			{
				Msg: "ΘΠΣ",
			},
		},
		SourceLabel: "[]XNamedError{{Id: \"eΔΘΠΣ\", Msg: \"世界\"}, {Id: \"abc\"}, {Msg: \"ΘΠΣ\"}}",
		Source: []XNamedError{
			{
				Id:  "eΔΘΠΣ",
				Msg: "世界",
			},
			{
				Id: "abc",
			},
			{
				Msg: "ΘΠΣ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_Error{}",
		Target:      XList_Error(nil),
		SourceLabel: "XList_Error{}",
		Source:      XList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Error{}",
		Target:      XList_Error(nil),
		SourceLabel: "[]?XNamedError{}",
		Source:      []*XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Error{}",
		Target:      XList_Error(nil),
		SourceLabel: "XList_OptXNamedError{}",
		Source:      XList_OptXNamedError(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "[]any{error{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []interface{}{
			verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_Error{{Id: \"eΔΘΠΣΦ王普\", Msg: \"澤世\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}}",
		Target: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "澤世",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "ΠΣΦ王普澤",
				Msg: "ΔΘΠΣΦ",
			}),
		},
		SourceLabel: "XList_Error{{Id: \"eΔΘΠΣΦ王普\", Msg: \"澤世\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}}",
		Source: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "澤世",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "ΠΣΦ王普澤",
				Msg: "ΔΘΠΣΦ",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_Error{{Id: \"eΔΘΠΣΦ王普\", Msg: \"澤世\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}}",
		Target: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "澤世",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "ΠΣΦ王普澤",
				Msg: "ΔΘΠΣΦ",
			}),
		},
		SourceLabel: "XList_Any{error{Id: \"eΔΘΠΣΦ王普\", Msg: \"澤世\"}, error{Id: \"ΠΣΦ王普澤\", Msg: \"ΔΘΠΣΦ\"}}",
		Source: XList_Any{
			verror.FromWire(&vdl.WireError{
				Id:  "eΔΘΠΣΦ王普",
				Msg: "澤世",
			}),
			verror.FromWire(&vdl.WireError{
				Id:  "ΠΣΦ王普澤",
				Msg: "ΔΘΠΣΦ",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XUint16{}",
		Target:      XList_XUint16(nil),
		SourceLabel: "XList_XUint16{}",
		Source:      XList_XUint16(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUint16{}",
		Target:      XList_XUint16(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUint16{}",
		Target:      XList_XUint16(nil),
		SourceLabel: "XList_Byte(\"\")",
		Source:      XList_Byte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XUint16{123}",
		Target: XList_XUint16{
			123,
		},
		SourceLabel: "XList_XUint16{123}",
		Source: XList_XUint16{
			123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XUint16{123}",
		Target: XList_XUint16{
			123,
		},
		SourceLabel: "XArray1_Byte(\"{\")",
		Source: XArray1_Byte{
			123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XUint16{20240, 20120}",
		Target: XList_XUint16{
			20240,
			20120,
		},
		SourceLabel: "XList_XUint16{20240, 20120}",
		Source: XList_XUint16{
			20240,
			20120,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XUint16{20240, 20120}",
		Target: XList_XUint16{
			20240,
			20120,
		},
		SourceLabel: "XList_XFloat32{20240, 20120}",
		Source: XList_XFloat32{
			20240,
			20120,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XFloat32{}",
		Target:      XList_XFloat32(nil),
		SourceLabel: "XList_XFloat32{}",
		Source:      XList_XFloat32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XFloat32{}",
		Target:      XList_XFloat32(nil),
		SourceLabel: "[]XByte(\"\")",
		Source:      []XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XFloat32{}",
		Target:      XList_XFloat32(nil),
		SourceLabel: "[]byte(\"\")",
		Source:      []byte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XFloat32{1.5}",
		Target: XList_XFloat32{
			1.5,
		},
		SourceLabel: "XList_XFloat32{1.5}",
		Source: XList_XFloat32{
			1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XFloat32{1.5}",
		Target: XList_XFloat32{
			1.5,
		},
		SourceLabel: "XList_Any{XFloat32(1.5)}",
		Source: XList_Any{
			XFloat32(1.5),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XFloat32{-7.4083795e+08, 8.4293466e+08, 1.3024481e+07}",
		Target: XList_XFloat32{
			-7.4083795e+08,
			8.4293466e+08,
			1.3024481e+07,
		},
		SourceLabel: "XList_XFloat32{-7.4083795e+08, 8.4293466e+08, 1.3024481e+07}",
		Source: XList_XFloat32{
			-7.4083795e+08,
			8.4293466e+08,
			1.3024481e+07,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XFloat32{-7.4083795e+08, 8.4293466e+08, 1.3024481e+07}",
		Target: XList_XFloat32{
			-7.4083795e+08,
			8.4293466e+08,
			1.3024481e+07,
		},
		SourceLabel: "XList_Any{XFloat32(-7.4083795e+08), XFloat32(8.4293466e+08), XFloat32(1.3024481e+07)}",
		Source: XList_Any{
			XFloat32(-7.4083795e+08),
			XFloat32(8.4293466e+08),
			XFloat32(1.3024481e+07),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XFloat64{}",
		Target:      XList_XFloat64(nil),
		SourceLabel: "XList_XFloat64{}",
		Source:      XList_XFloat64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XFloat64{}",
		Target:      XList_XFloat64(nil),
		SourceLabel: "XList_Byte(\"\")",
		Source:      XList_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XFloat64{}",
		Target:      XList_XFloat64(nil),
		SourceLabel: "XList_XByte(\"\")",
		Source:      XList_XByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XFloat64{1.5}",
		Target: XList_XFloat64{
			1.5,
		},
		SourceLabel: "XList_XFloat64{1.5}",
		Source: XList_XFloat64{
			1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XFloat64{1.5}",
		Target: XList_XFloat64{
			1.5,
		},
		SourceLabel: "XList_XFloat32{1.5}",
		Source: XList_XFloat32{
			1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XFloat64{-1.2890941521970794e+08, 2.6391467736119337e+09}",
		Target: XList_XFloat64{
			-1.2890941521970794e+08,
			2.6391467736119337e+09,
		},
		SourceLabel: "XList_XFloat64{-1.2890941521970794e+08, 2.6391467736119337e+09}",
		Source: XList_XFloat64{
			-1.2890941521970794e+08,
			2.6391467736119337e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XFloat64{-1.2890941521970794e+08, 2.6391467736119337e+09}",
		Target: XList_XFloat64{
			-1.2890941521970794e+08,
			2.6391467736119337e+09,
		},
		SourceLabel: "XList_Any{XFloat64(-1.2890941521970794e+08), XFloat64(2.6391467736119337e+09)}",
		Source: XList_Any{
			XFloat64(-1.2890941521970794e+08),
			XFloat64(2.6391467736119337e+09),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_OptXStructEmpty{}",
		Target:      XList_OptXStructEmpty(nil),
		SourceLabel: "XList_OptXStructEmpty{}",
		Source:      XList_OptXStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructEmpty{}",
		Target:      XList_OptXStructEmpty(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructEmpty{}",
		Target:      XList_OptXStructEmpty(nil),
		SourceLabel: "XList_XStructEmpty{}",
		Source:      XList_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_OptXStructEmpty{{}}",
		Target: XList_OptXStructEmpty{
			{},
		},
		SourceLabel: "XList_OptXStructEmpty{{}}",
		Source: XList_OptXStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_OptXStructEmpty{{}}",
		Target: XList_OptXStructEmpty{
			{},
		},
		SourceLabel: "XArray1_OptXStructEmpty{{}}",
		Source: XArray1_OptXStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_OptXNamedError{}",
		Target:      XList_OptXNamedError(nil),
		SourceLabel: "XList_OptXNamedError{}",
		Source:      XList_OptXNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXNamedError{}",
		Target:      XList_OptXNamedError(nil),
		SourceLabel: "[]error{}",
		Source:      []error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXNamedError{}",
		Target:      XList_OptXNamedError(nil),
		SourceLabel: "XList_OptXStructEmpty{}",
		Source:      XList_OptXStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_OptXNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Error{
			verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_OptXNamedError{{Id: \"王普澤世界\", Msg: \"ΘΠΣΦ王普澤世\"}, {Id: \"王普澤世界\"}}",
		Target: XList_OptXNamedError{
			{
				Id:  "王普澤世界",
				Msg: "ΘΠΣΦ王普澤世",
			},
			{
				Id: "王普澤世界",
			},
		},
		SourceLabel: "XList_OptXNamedError{{Id: \"王普澤世界\", Msg: \"ΘΠΣΦ王普澤世\"}, {Id: \"王普澤世界\"}}",
		Source: XList_OptXNamedError{
			{
				Id:  "王普澤世界",
				Msg: "ΘΠΣΦ王普澤世",
			},
			{
				Id: "王普澤世界",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_OptXNamedError{{Id: \"王普澤世界\", Msg: \"ΘΠΣΦ王普澤世\"}, {Id: \"王普澤世界\"}}",
		Target: XList_OptXNamedError{
			{
				Id:  "王普澤世界",
				Msg: "ΘΠΣΦ王普澤世",
			},
			{
				Id: "王普澤世界",
			},
		},
		SourceLabel: "[]any{?XNamedError{Id: \"王普澤世界\", Msg: \"ΘΠΣΦ王普澤世\"}, ?XNamedError{Id: \"王普澤世界\"}}",
		Source: []interface{}{
			&XNamedError{
				Id:  "王普澤世界",
				Msg: "ΘΠΣΦ王普澤世",
			},
			&XNamedError{
				Id: "王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XBool]{}",
		Target:      map[XBool]struct{}(nil),
		SourceLabel: "set[XBool]{}",
		Source:      map[XBool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XBool]{}",
		Target:      map[XBool]struct{}(nil),
		SourceLabel: "set[bool]{}",
		Source:      map[bool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XBool]{}",
		Target:      map[XBool]struct{}(nil),
		SourceLabel: "XSet_Bool{}",
		Source:      XSet_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XBool]{true}",
		Target: map[XBool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "set[XBool]{true}",
		Source: map[XBool]struct{}{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XBool]{true}",
		Target: map[XBool]struct{}{
			true: struct{}{},
		},
		SourceLabel: "set[bool]{true}",
		Source: map[bool]struct{}{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XString]{}",
		Target:      map[XString]struct{}(nil),
		SourceLabel: "set[XString]{}",
		Source:      map[XString]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XString]{}",
		Target:      map[XString]struct{}(nil),
		SourceLabel: "XSet_XEnumAbc{}",
		Source:      XSet_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XString]{}",
		Target:      map[XString]struct{}(nil),
		SourceLabel: "set[XEnumAbc]{}",
		Source:      map[XEnumAbc]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[XString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "set[XString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[XString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[XString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "XSet_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XSet_XString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XString]{\"ΠΣΦ王普澤世\", \"ΣΦ王普澤\"}",
		Target: map[XString]struct{}{
			"ΠΣΦ王普澤世": struct{}{},
			"ΣΦ王普澤":   struct{}{},
		},
		SourceLabel: "set[XString]{\"ΠΣΦ王普澤世\", \"ΣΦ王普澤\"}",
		Source: map[XString]struct{}{
			"ΠΣΦ王普澤世": struct{}{},
			"ΣΦ王普澤":   struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[XString]{\"ΠΣΦ王普澤世\", \"ΣΦ王普澤\"}",
		Target: map[XString]struct{}{
			"ΠΣΦ王普澤世": struct{}{},
			"ΣΦ王普澤":   struct{}{},
		},
		SourceLabel: "XSet_XString{\"ΠΣΦ王普澤世\", \"ΣΦ王普澤\"}",
		Source: XSet_XString{
			"ΠΣΦ王普澤世": struct{}{},
			"ΣΦ王普澤":   struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XByte]{}",
		Target:      map[XByte]struct{}(nil),
		SourceLabel: "set[XByte]{}",
		Source:      map[XByte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XByte]{}",
		Target:      map[XByte]struct{}(nil),
		SourceLabel: "set[byte]{}",
		Source:      map[byte]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XByte]{}",
		Target:      map[XByte]struct{}(nil),
		SourceLabel: "set[float64]{}",
		Source:      map[float64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XByte]{123}",
		Target: map[XByte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[XByte]{123}",
		Source: map[XByte]struct{}{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XByte]{123}",
		Target: map[XByte]struct{}{
			123: struct{}{},
		},
		SourceLabel: "set[int32]{123}",
		Source: map[int32]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XByte]{0, 123, 26}",
		Target: map[XByte]struct{}{
			0:   struct{}{},
			123: struct{}{},
			26:  struct{}{},
		},
		SourceLabel: "set[XByte]{0, 123, 26}",
		Source: map[XByte]struct{}{
			0:   struct{}{},
			123: struct{}{},
			26:  struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[XByte]{0, 123, 26}",
		Target: map[XByte]struct{}{
			0:   struct{}{},
			123: struct{}{},
			26:  struct{}{},
		},
		SourceLabel: "XSet_Float32{0, 123, 26}",
		Source: XSet_Float32{
			0:   struct{}{},
			123: struct{}{},
			26:  struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XEnumAbc]{}",
		Target:      map[XEnumAbc]struct{}(nil),
		SourceLabel: "set[XEnumAbc]{}",
		Source:      map[XEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XEnumAbc]{}",
		Target:      map[XEnumAbc]struct{}(nil),
		SourceLabel: "set[XEnumBcd]{}",
		Source:      map[XEnumBcd]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XEnumAbc]{}",
		Target:      map[XEnumAbc]struct{}(nil),
		SourceLabel: "XSet_XString{}",
		Source:      XSet_XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XEnumAbc]{C}",
		Target: map[XEnumAbc]struct{}{
			XEnumAbcC: struct{}{},
		},
		SourceLabel: "set[XEnumAbc]{C}",
		Source: map[XEnumAbc]struct{}{
			XEnumAbcC: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XEnumAbc]{C}",
		Target: map[XEnumAbc]struct{}{
			XEnumAbcC: struct{}{},
		},
		SourceLabel: "set[XEnumBcd]{C}",
		Source: map[XEnumBcd]struct{}{
			XEnumBcdC: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XEnumBcd]{}",
		Target:      map[XEnumBcd]struct{}(nil),
		SourceLabel: "set[XEnumBcd]{}",
		Source:      map[XEnumBcd]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XEnumBcd]{}",
		Target:      map[XEnumBcd]struct{}(nil),
		SourceLabel: "XSet_XEnumAbc{}",
		Source:      XSet_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XEnumBcd]{}",
		Target:      map[XEnumBcd]struct{}(nil),
		SourceLabel: "XSet_String{}",
		Source:      XSet_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XEnumBcd]{D}",
		Target: map[XEnumBcd]struct{}{
			XEnumBcdD: struct{}{},
		},
		SourceLabel: "set[XEnumBcd]{D}",
		Source: map[XEnumBcd]struct{}{
			XEnumBcdD: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XEnumBcd]{D}",
		Target: map[XEnumBcd]struct{}{
			XEnumBcdD: struct{}{},
		},
		SourceLabel: "XSet_XEnumBcd{D}",
		Source: XSet_XEnumBcd{
			XEnumBcdD: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XStructEmpty]{}",
		Target:      map[XStructEmpty]struct{}(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructEmpty]{}",
		Target:      map[XStructEmpty]struct{}(nil),
		SourceLabel: "XSet_XStructEmpty{}",
		Source:      XSet_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructEmpty]{}",
		Target:      map[XStructEmpty]struct{}(nil),
		SourceLabel: "XSet_XStructDepth1_XFloat64{}",
		Source:      XSet_XStructDepth1_XFloat64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XStructEmpty]{{}}",
		Target: map[XStructEmpty]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[XStructEmpty]{{}}",
		Source: map[XStructEmpty]struct{}{
			{}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XStructEmpty]{{}}",
		Target: map[XStructEmpty]struct{}{
			{}: struct{}{},
		},
		SourceLabel: "set[XStructDepth1_String]{{}}",
		Source: map[XStructDepth1_String]struct{}{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XNamedError]{}",
		Target:      map[XNamedError]struct{}(nil),
		SourceLabel: "set[XNamedError]{}",
		Source:      map[XNamedError]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XNamedError]{}",
		Target:      map[XNamedError]struct{}(nil),
		SourceLabel: "XSet_XNamedError{}",
		Source:      XSet_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XNamedError]{}",
		Target:      map[XNamedError]struct{}(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[XNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "XSet_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XNamedError]{{Id: \"bcdeΔΘΠΣ\", Msg: \"eΔΘΠ\"}, {Id: \"cd\"}, {Id: \"ΘΠΣΦ王\", Msg: \"c\"}}",
		Target: map[XNamedError]struct{}{
			{
				Id:  "bcdeΔΘΠΣ",
				Msg: "eΔΘΠ",
			}: struct{}{},
			{
				Id: "cd",
			}: struct{}{},
			{
				Id:  "ΘΠΣΦ王",
				Msg: "c",
			}: struct{}{},
		},
		SourceLabel: "set[XNamedError]{{Id: \"bcdeΔΘΠΣ\", Msg: \"eΔΘΠ\"}, {Id: \"cd\"}, {Id: \"ΘΠΣΦ王\", Msg: \"c\"}}",
		Source: map[XNamedError]struct{}{
			{
				Id:  "bcdeΔΘΠΣ",
				Msg: "eΔΘΠ",
			}: struct{}{},
			{
				Id: "cd",
			}: struct{}{},
			{
				Id:  "ΘΠΣΦ王",
				Msg: "c",
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[XNamedError]{{Id: \"bcdeΔΘΠΣ\", Msg: \"eΔΘΠ\"}, {Id: \"cd\"}, {Id: \"ΘΠΣΦ王\", Msg: \"c\"}}",
		Target: map[XNamedError]struct{}{
			{
				Id:  "bcdeΔΘΠΣ",
				Msg: "eΔΘΠ",
			}: struct{}{},
			{
				Id: "cd",
			}: struct{}{},
			{
				Id:  "ΘΠΣΦ王",
				Msg: "c",
			}: struct{}{},
		},
		SourceLabel: "XSet_XNamedError{{Id: \"bcdeΔΘΠΣ\", Msg: \"eΔΘΠ\"}, {Id: \"cd\"}, {Id: \"ΘΠΣΦ王\", Msg: \"c\"}}",
		Source: XSet_XNamedError{
			{
				Id:  "bcdeΔΘΠΣ",
				Msg: "eΔΘΠ",
			}: struct{}{},
			{
				Id: "cd",
			}: struct{}{},
			{
				Id:  "ΘΠΣΦ王",
				Msg: "c",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_Bool{}",
		Target:      XSet_Bool(nil),
		SourceLabel: "XSet_Bool{}",
		Source:      XSet_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Bool{}",
		Target:      XSet_Bool(nil),
		SourceLabel: "set[XBool]{}",
		Source:      map[XBool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Bool{}",
		Target:      XSet_Bool(nil),
		SourceLabel: "set[bool]{}",
		Source:      map[bool]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_Bool{true}",
		Target: XSet_Bool{
			true: struct{}{},
		},
		SourceLabel: "XSet_Bool{true}",
		Source: XSet_Bool{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_Bool{true}",
		Target: XSet_Bool{
			true: struct{}{},
		},
		SourceLabel: "XSet_XBool{true}",
		Source: XSet_XBool{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XBool{}",
		Target:      XSet_XBool(nil),
		SourceLabel: "XSet_XBool{}",
		Source:      XSet_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XBool{}",
		Target:      XSet_XBool(nil),
		SourceLabel: "set[XBool]{}",
		Source:      map[XBool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XBool{}",
		Target:      XSet_XBool(nil),
		SourceLabel: "XSet_Bool{}",
		Source:      XSet_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XBool{true}",
		Target: XSet_XBool{
			true: struct{}{},
		},
		SourceLabel: "XSet_XBool{true}",
		Source: XSet_XBool{
			true: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XBool{true}",
		Target: XSet_XBool{
			true: struct{}{},
		},
		SourceLabel: "set[XBool]{true}",
		Source: map[XBool]struct{}{
			true: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_String{}",
		Target:      XSet_String(nil),
		SourceLabel: "XSet_String{}",
		Source:      XSet_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_String{}",
		Target:      XSet_String(nil),
		SourceLabel: "set[XEnumBcd]{}",
		Source:      map[XEnumBcd]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_String{}",
		Target:      XSet_String(nil),
		SourceLabel: "XSet_XEnumBcd{}",
		Source:      XSet_XEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "XSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "set[XString]{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[XString]struct{}{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_String{\"王普澤世界\"}",
		Target: XSet_String{
			"王普澤世界": struct{}{},
		},
		SourceLabel: "XSet_String{\"王普澤世界\"}",
		Source: XSet_String{
			"王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_String{\"王普澤世界\"}",
		Target: XSet_String{
			"王普澤世界": struct{}{},
		},
		SourceLabel: "set[string]{\"王普澤世界\"}",
		Source: map[string]struct{}{
			"王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XString{}",
		Target:      XSet_XString(nil),
		SourceLabel: "XSet_XString{}",
		Source:      XSet_XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XString{}",
		Target:      XSet_XString(nil),
		SourceLabel: "set[XEnumAbc]{}",
		Source:      map[XEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XString{}",
		Target:      XSet_XString(nil),
		SourceLabel: "set[XEnumBcd]{}",
		Source:      map[XEnumBcd]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XSet_XString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "XSet_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XSet_XString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XString{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XSet_XString{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
		SourceLabel: "XSet_String{\"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XSet_String{
			"abcdeΔΘΠΣΦ王普澤世界": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XString{\"\", \"deΔΘΠΣ\", \"deΔΘΠΣΦ王\"}",
		Target: XSet_XString{
			"":         struct{}{},
			"deΔΘΠΣ":   struct{}{},
			"deΔΘΠΣΦ王": struct{}{},
		},
		SourceLabel: "XSet_XString{\"\", \"deΔΘΠΣ\", \"deΔΘΠΣΦ王\"}",
		Source: XSet_XString{
			"":         struct{}{},
			"deΔΘΠΣ":   struct{}{},
			"deΔΘΠΣΦ王": struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XString{\"\", \"deΔΘΠΣ\", \"deΔΘΠΣΦ王\"}",
		Target: XSet_XString{
			"":         struct{}{},
			"deΔΘΠΣ":   struct{}{},
			"deΔΘΠΣΦ王": struct{}{},
		},
		SourceLabel: "set[string]{\"\", \"deΔΘΠΣ\", \"deΔΘΠΣΦ王\"}",
		Source: map[string]struct{}{
			"":         struct{}{},
			"deΔΘΠΣ":   struct{}{},
			"deΔΘΠΣΦ王": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_Byte{}",
		Target:      XSet_Byte(nil),
		SourceLabel: "XSet_Byte{}",
		Source:      XSet_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Byte{}",
		Target:      XSet_Byte(nil),
		SourceLabel: "XSet_Uint64{}",
		Source:      XSet_Uint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Byte{}",
		Target:      XSet_Byte(nil),
		SourceLabel: "XSet_XByte{}",
		Source:      XSet_XByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_Byte{123}",
		Target: XSet_Byte{
			123: struct{}{},
		},
		SourceLabel: "XSet_Byte{123}",
		Source: XSet_Byte{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_Byte{123}",
		Target: XSet_Byte{
			123: struct{}{},
		},
		SourceLabel: "XSet_Float32{123}",
		Source: XSet_Float32{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_Byte{184, 89}",
		Target: XSet_Byte{
			184: struct{}{},
			89:  struct{}{},
		},
		SourceLabel: "XSet_Byte{184, 89}",
		Source: XSet_Byte{
			184: struct{}{},
			89:  struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_Byte{184, 89}",
		Target: XSet_Byte{
			184: struct{}{},
			89:  struct{}{},
		},
		SourceLabel: "set[int32]{184, 89}",
		Source: map[int32]struct{}{
			184: struct{}{},
			89:  struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XByte{}",
		Target:      XSet_XByte(nil),
		SourceLabel: "XSet_XByte{}",
		Source:      XSet_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XByte{}",
		Target:      XSet_XByte(nil),
		SourceLabel: "XSet_Uint64{}",
		Source:      XSet_Uint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XByte{}",
		Target:      XSet_XByte(nil),
		SourceLabel: "XSet_XUint64{}",
		Source:      XSet_XUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XByte{123}",
		Target: XSet_XByte{
			123: struct{}{},
		},
		SourceLabel: "XSet_XByte{123}",
		Source: XSet_XByte{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XByte{123}",
		Target: XSet_XByte{
			123: struct{}{},
		},
		SourceLabel: "set[XByte]{123}",
		Source: map[XByte]struct{}{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XByte{0, 229}",
		Target: XSet_XByte{
			0:   struct{}{},
			229: struct{}{},
		},
		SourceLabel: "XSet_XByte{0, 229}",
		Source: XSet_XByte{
			0:   struct{}{},
			229: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XByte{0, 229}",
		Target: XSet_XByte{
			0:   struct{}{},
			229: struct{}{},
		},
		SourceLabel: "set[XByte]{0, 229}",
		Source: map[XByte]struct{}{
			0:   struct{}{},
			229: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XEnumAbc{}",
		Target:      XSet_XEnumAbc(nil),
		SourceLabel: "XSet_XEnumAbc{}",
		Source:      XSet_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XEnumAbc{}",
		Target:      XSet_XEnumAbc(nil),
		SourceLabel: "set[XEnumAbc]{}",
		Source:      map[XEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XEnumAbc{}",
		Target:      XSet_XEnumAbc(nil),
		SourceLabel: "set[string]{}",
		Source:      map[string]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XEnumAbc{C}",
		Target: XSet_XEnumAbc{
			XEnumAbcC: struct{}{},
		},
		SourceLabel: "XSet_XEnumAbc{C}",
		Source: XSet_XEnumAbc{
			XEnumAbcC: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XEnumAbc{C}",
		Target: XSet_XEnumAbc{
			XEnumAbcC: struct{}{},
		},
		SourceLabel: "XSet_XEnumBcd{C}",
		Source: XSet_XEnumBcd{
			XEnumBcdC: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XEnumBcd{}",
		Target:      XSet_XEnumBcd(nil),
		SourceLabel: "XSet_XEnumBcd{}",
		Source:      XSet_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XEnumBcd{}",
		Target:      XSet_XEnumBcd(nil),
		SourceLabel: "XSet_String{}",
		Source:      XSet_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XEnumBcd{}",
		Target:      XSet_XEnumBcd(nil),
		SourceLabel: "set[XEnumAbc]{}",
		Source:      map[XEnumAbc]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XEnumBcd{D}",
		Target: XSet_XEnumBcd{
			XEnumBcdD: struct{}{},
		},
		SourceLabel: "XSet_XEnumBcd{D}",
		Source: XSet_XEnumBcd{
			XEnumBcdD: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XEnumBcd{D}",
		Target: XSet_XEnumBcd{
			XEnumBcdD: struct{}{},
		},
		SourceLabel: "set[string]{\"D\"}",
		Source: map[string]struct{}{
			"D": struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XStructEmpty{}",
		Target:      XSet_XStructEmpty(nil),
		SourceLabel: "XSet_XStructEmpty{}",
		Source:      XSet_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructEmpty{}",
		Target:      XSet_XStructEmpty(nil),
		SourceLabel: "set[XNamedError]{}",
		Source:      map[XNamedError]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructEmpty{}",
		Target:      XSet_XStructEmpty(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XStructEmpty{{}}",
		Target: XSet_XStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "XSet_XStructEmpty{{}}",
		Source: XSet_XStructEmpty{
			{}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XStructEmpty{{}}",
		Target: XSet_XStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "set[XStructDepth2_XStructDepth1_Bool]{{}}",
		Source: map[XStructDepth2_XStructDepth1_Bool]struct{}{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XNamedError{}",
		Target:      XSet_XNamedError(nil),
		SourceLabel: "XSet_XNamedError{}",
		Source:      XSet_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XNamedError{}",
		Target:      XSet_XNamedError(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XNamedError{}",
		Target:      XSet_XNamedError(nil),
		SourceLabel: "XSet_XStructEmpty{}",
		Source:      XSet_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "XSet_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[XNamedError]{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XNamedError]struct{}{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XNamedError{{Id: \"ΠΣΦ\", Msg: \"cdeΔΘΠΣ\"}, {Id: \"王普澤\", Msg: \"d\"}}",
		Target: XSet_XNamedError{
			{
				Id:  "ΠΣΦ",
				Msg: "cdeΔΘΠΣ",
			}: struct{}{},
			{
				Id:  "王普澤",
				Msg: "d",
			}: struct{}{},
		},
		SourceLabel: "XSet_XNamedError{{Id: \"ΠΣΦ\", Msg: \"cdeΔΘΠΣ\"}, {Id: \"王普澤\", Msg: \"d\"}}",
		Source: XSet_XNamedError{
			{
				Id:  "ΠΣΦ",
				Msg: "cdeΔΘΠΣ",
			}: struct{}{},
			{
				Id:  "王普澤",
				Msg: "d",
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XNamedError{{Id: \"ΠΣΦ\", Msg: \"cdeΔΘΠΣ\"}, {Id: \"王普澤\", Msg: \"d\"}}",
		Target: XSet_XNamedError{
			{
				Id:  "ΠΣΦ",
				Msg: "cdeΔΘΠΣ",
			}: struct{}{},
			{
				Id:  "王普澤",
				Msg: "d",
			}: struct{}{},
		},
		SourceLabel: "set[XNamedError]{{Id: \"ΠΣΦ\", Msg: \"cdeΔΘΠΣ\"}, {Id: \"王普澤\", Msg: \"d\"}}",
		Source: map[XNamedError]struct{}{
			{
				Id:  "ΠΣΦ",
				Msg: "cdeΔΘΠΣ",
			}: struct{}{},
			{
				Id:  "王普澤",
				Msg: "d",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_Uint64{}",
		Target:      XSet_Uint64(nil),
		SourceLabel: "XSet_Uint64{}",
		Source:      XSet_Uint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Uint64{}",
		Target:      XSet_Uint64(nil),
		SourceLabel: "XSet_XByte{}",
		Source:      XSet_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Uint64{}",
		Target:      XSet_Uint64(nil),
		SourceLabel: "set[int32]{}",
		Source:      map[int32]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_Uint64{123}",
		Target: XSet_Uint64{
			123: struct{}{},
		},
		SourceLabel: "XSet_Uint64{123}",
		Source: XSet_Uint64{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_Uint64{123}",
		Target: XSet_Uint64{
			123: struct{}{},
		},
		SourceLabel: "XSet_XByte{123}",
		Source: XSet_XByte{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_Uint64{0, 15419510315382674418}",
		Target: XSet_Uint64{
			0:                    struct{}{},
			15419510315382674418: struct{}{},
		},
		SourceLabel: "XSet_Uint64{0, 15419510315382674418}",
		Source: XSet_Uint64{
			0:                    struct{}{},
			15419510315382674418: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_Uint64{0, 15419510315382674418}",
		Target: XSet_Uint64{
			0:                    struct{}{},
			15419510315382674418: struct{}{},
		},
		SourceLabel: "XSet_XUint64{0, 15419510315382674418}",
		Source: XSet_XUint64{
			0:                    struct{}{},
			15419510315382674418: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XUint64{}",
		Target:      XSet_XUint64(nil),
		SourceLabel: "XSet_XUint64{}",
		Source:      XSet_XUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XUint64{}",
		Target:      XSet_XUint64(nil),
		SourceLabel: "set[uint64]{}",
		Source:      map[uint64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XUint64{}",
		Target:      XSet_XUint64(nil),
		SourceLabel: "set[XByte]{}",
		Source:      map[XByte]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XUint64{123}",
		Target: XSet_XUint64{
			123: struct{}{},
		},
		SourceLabel: "XSet_XUint64{123}",
		Source: XSet_XUint64{
			123: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XUint64{123}",
		Target: XSet_XUint64{
			123: struct{}{},
		},
		SourceLabel: "XSet_Byte{123}",
		Source: XSet_Byte{
			123: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XUint64{9532860371158075028}",
		Target: XSet_XUint64{
			9532860371158075028: struct{}{},
		},
		SourceLabel: "XSet_XUint64{9532860371158075028}",
		Source: XSet_XUint64{
			9532860371158075028: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XUint64{9532860371158075028}",
		Target: XSet_XUint64{
			9532860371158075028: struct{}{},
		},
		SourceLabel: "XSet_Uint64{9532860371158075028}",
		Source: XSet_Uint64{
			9532860371158075028: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_Float32{}",
		Target:      XSet_Float32(nil),
		SourceLabel: "XSet_Float32{}",
		Source:      XSet_Float32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Float32{}",
		Target:      XSet_Float32(nil),
		SourceLabel: "set[int32]{}",
		Source:      map[int32]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_Float32{}",
		Target:      XSet_Float32(nil),
		SourceLabel: "set[uint64]{}",
		Source:      map[uint64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_Float32{1.5}",
		Target: XSet_Float32{
			1.5: struct{}{},
		},
		SourceLabel: "XSet_Float32{1.5}",
		Source: XSet_Float32{
			1.5: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_Float32{1.5}",
		Target: XSet_Float32{
			1.5: struct{}{},
		},
		SourceLabel: "set[float64]{1.5}",
		Source: map[float64]struct{}{
			1.5: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_Float32{-2.1514644e+09}",
		Target: XSet_Float32{
			-2.1514644e+09: struct{}{},
		},
		SourceLabel: "XSet_Float32{-2.1514644e+09}",
		Source: XSet_Float32{
			-2.1514644e+09: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_Float32{-2.1514644e+09}",
		Target: XSet_Float32{
			-2.1514644e+09: struct{}{},
		},
		SourceLabel: "set[float64]{-2.1514645445578156e+09}",
		Source: map[float64]struct{}{
			-2.1514645445578156e+09: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XBool]XBool{}",
		Target:      map[XBool]XBool(nil),
		SourceLabel: "map[XBool]XBool{}",
		Source:      map[XBool]XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XBool]XBool{}",
		Target:      map[XBool]XBool(nil),
		SourceLabel: "map[bool]bool{}",
		Source:      map[bool]bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XBool]XBool{}",
		Target:      map[XBool]XBool(nil),
		SourceLabel: "XMap_Bool_Bool{}",
		Source:      XMap_Bool_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XBool]XBool{true: true}",
		Target: map[XBool]XBool{
			true: true,
		},
		SourceLabel: "map[XBool]XBool{true: true}",
		Source: map[XBool]XBool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XBool]XBool{true: true}",
		Target: map[XBool]XBool{
			true: true,
		},
		SourceLabel: "XMap_XBool_XBool{true: true}",
		Source: XMap_XBool_XBool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XString]XString{}",
		Target:      map[XString]XString(nil),
		SourceLabel: "map[XString]XString{}",
		Source:      map[XString]XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XString]XString{}",
		Target:      map[XString]XString(nil),
		SourceLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Source:      XMap_XEnumAbc_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XString]XString{}",
		Target:      map[XString]XString(nil),
		SourceLabel: "map[XEnumBcd]XEnumBcd{}",
		Source:      map[XEnumBcd]XEnumBcd(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XString]XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[XString]XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[XString]XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[XString]XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XString]XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: map[XString]XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XString]XString{\"\": \"澤世\", \"bcdeΔ\": \"ΘΠΣΦ王普澤\"}",
		Target: map[XString]XString{
			"":      "澤世",
			"bcdeΔ": "ΘΠΣΦ王普澤",
		},
		SourceLabel: "map[XString]XString{\"\": \"澤世\", \"bcdeΔ\": \"ΘΠΣΦ王普澤\"}",
		Source: map[XString]XString{
			"":      "澤世",
			"bcdeΔ": "ΘΠΣΦ王普澤",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XString]XString{\"\": \"澤世\", \"bcdeΔ\": \"ΘΠΣΦ王普澤\"}",
		Target: map[XString]XString{
			"":      "澤世",
			"bcdeΔ": "ΘΠΣΦ王普澤",
		},
		SourceLabel: "XMap_String_String{\"\": \"澤世\", \"bcdeΔ\": \"ΘΠΣΦ王普澤\"}",
		Source: XMap_String_String{
			"":      "澤世",
			"bcdeΔ": "ΘΠΣΦ王普澤",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XByte]XByte{}",
		Target:      map[XByte]XByte(nil),
		SourceLabel: "map[XByte]XByte{}",
		Source:      map[XByte]XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XByte]XByte{}",
		Target:      map[XByte]XByte(nil),
		SourceLabel: "XMap_XUint32_XUint32{}",
		Source:      XMap_XUint32_XUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XByte]XByte{}",
		Target:      map[XByte]XByte(nil),
		SourceLabel: "XMap_XByte_XByte{}",
		Source:      XMap_XByte_XByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XByte]XByte{123: 123}",
		Target: map[XByte]XByte{
			123: 123,
		},
		SourceLabel: "map[XByte]XByte{123: 123}",
		Source: map[XByte]XByte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XByte]XByte{123: 123}",
		Target: map[XByte]XByte{
			123: 123,
		},
		SourceLabel: "XMap_XUint32_XUint32{123: 123}",
		Source: XMap_XUint32_XUint32{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XByte]XByte{152: 121}",
		Target: map[XByte]XByte{
			152: 121,
		},
		SourceLabel: "map[XByte]XByte{152: 121}",
		Source: map[XByte]XByte{
			152: 121,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XByte]XByte{152: 121}",
		Target: map[XByte]XByte{
			152: 121,
		},
		SourceLabel: "map[uint32]uint32{152: 121}",
		Source: map[uint32]uint32{
			152: 121,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XEnumAbc]XEnumAbc{}",
		Target:      map[XEnumAbc]XEnumAbc(nil),
		SourceLabel: "map[XEnumAbc]XEnumAbc{}",
		Source:      map[XEnumAbc]XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XEnumAbc]XEnumAbc{}",
		Target:      map[XEnumAbc]XEnumAbc(nil),
		SourceLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Source:      XMap_XEnumBcd_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XEnumAbc]XEnumAbc{}",
		Target:      map[XEnumAbc]XEnumAbc(nil),
		SourceLabel: "XMap_XString_XString{}",
		Source:      XMap_XString_XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XEnumAbc]XEnumAbc{C: C}",
		Target: map[XEnumAbc]XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
		SourceLabel: "map[XEnumAbc]XEnumAbc{C: C}",
		Source: map[XEnumAbc]XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XEnumAbc]XEnumAbc{C: C}",
		Target: map[XEnumAbc]XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
		SourceLabel: "XMap_XEnumBcd_XEnumBcd{C: C}",
		Source: XMap_XEnumBcd_XEnumBcd{
			XEnumBcdC: XEnumBcdC,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XEnumBcd]XEnumBcd{}",
		Target:      map[XEnumBcd]XEnumBcd(nil),
		SourceLabel: "map[XEnumBcd]XEnumBcd{}",
		Source:      map[XEnumBcd]XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XEnumBcd]XEnumBcd{}",
		Target:      map[XEnumBcd]XEnumBcd(nil),
		SourceLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Source:      XMap_XEnumBcd_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XEnumBcd]XEnumBcd{}",
		Target:      map[XEnumBcd]XEnumBcd(nil),
		SourceLabel: "XMap_XString_XString{}",
		Source:      XMap_XString_XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XEnumBcd]XEnumBcd{D: D}",
		Target: map[XEnumBcd]XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
		SourceLabel: "map[XEnumBcd]XEnumBcd{D: D}",
		Source: map[XEnumBcd]XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XEnumBcd]XEnumBcd{D: D}",
		Target: map[XEnumBcd]XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
		SourceLabel: "XMap_String_String{\"D\": \"D\"}",
		Source: XMap_String_String{
			"D": "D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XStructEmpty]XStructEmpty{}",
		Target:      map[XStructEmpty]XStructEmpty(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructEmpty]XStructEmpty{}",
		Target:      map[XStructEmpty]XStructEmpty(nil),
		SourceLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{}",
		Source:      XMap_XStructDepth1_XBool_XStructDepth1_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructEmpty]XStructEmpty{}",
		Target:      map[XStructEmpty]XStructEmpty(nil),
		SourceLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{}",
		Source:      map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XStructEmpty]XStructEmpty{{}: {}}",
		Target: map[XStructEmpty]XStructEmpty{
			{}: {},
		},
		SourceLabel: "map[XStructEmpty]XStructEmpty{{}: {}}",
		Source: map[XStructEmpty]XStructEmpty{
			{}: {},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XStructEmpty]XStructEmpty{{}: {}}",
		Target: map[XStructEmpty]XStructEmpty{
			{}: {},
		},
		SourceLabel: "XMap_XNamedError_XNamedError{{}: {}}",
		Source: XMap_XNamedError_XNamedError{
			{}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XNamedError]XNamedError{}",
		Target:      map[XNamedError]XNamedError(nil),
		SourceLabel: "map[XNamedError]XNamedError{}",
		Source:      map[XNamedError]XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XNamedError]XNamedError{}",
		Target:      map[XNamedError]XNamedError(nil),
		SourceLabel: "XMap_XNamedError_XNamedError{}",
		Source:      XMap_XNamedError_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XNamedError]XNamedError{}",
		Target:      map[XNamedError]XNamedError(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XNamedError]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XNamedError]XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[XNamedError]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XNamedError]XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XNamedError]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XNamedError]XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XMap_XNamedError_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XMap_XNamedError_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XNamedError]XNamedError{{Msg: \"ΘΠΣΦ王普澤世\"}: {Msg: \"eΔΘ\"}}",
		Target: map[XNamedError]XNamedError{
			{
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Msg: "eΔΘ",
			},
		},
		SourceLabel: "map[XNamedError]XNamedError{{Msg: \"ΘΠΣΦ王普澤世\"}: {Msg: \"eΔΘ\"}}",
		Source: map[XNamedError]XNamedError{
			{
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Msg: "eΔΘ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XNamedError]XNamedError{{Msg: \"ΘΠΣΦ王普澤世\"}: {Msg: \"eΔΘ\"}}",
		Target: map[XNamedError]XNamedError{
			{
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Msg: "eΔΘ",
			},
		},
		SourceLabel: "XMap_XNamedError_XNamedError{{Msg: \"ΘΠΣΦ王普澤世\"}: {Msg: \"eΔΘ\"}}",
		Source: XMap_XNamedError_XNamedError{
			{
				Msg: "ΘΠΣΦ王普澤世",
			}: {
				Msg: "eΔΘ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XUint64]XUint64{}",
		Target:      map[XUint64]XUint64(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XUint64]XUint64{}",
		Target:      map[XUint64]XUint64(nil),
		SourceLabel: "XMap_Byte_Byte{}",
		Source:      XMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XUint64]XUint64{}",
		Target:      map[XUint64]XUint64(nil),
		SourceLabel: "XMap_XUint32_XUint32{}",
		Source:      XMap_XUint32_XUint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XUint64]XUint64{123: 123}",
		Target: map[XUint64]XUint64{
			123: 123,
		},
		SourceLabel: "map[XUint64]XUint64{123: 123}",
		Source: map[XUint64]XUint64{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XUint64]XUint64{123: 123}",
		Target: map[XUint64]XUint64{
			123: 123,
		},
		SourceLabel: "map[XByte]XByte{123: 123}",
		Source: map[XByte]XByte{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XUint64]XUint64{8554769073767298258: 9798659526928048171}",
		Target: map[XUint64]XUint64{
			8554769073767298258: 9798659526928048171,
		},
		SourceLabel: "map[XUint64]XUint64{8554769073767298258: 9798659526928048171}",
		Source: map[XUint64]XUint64{
			8554769073767298258: 9798659526928048171,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XInt8]XInt8{}",
		Target:      map[XInt8]XInt8(nil),
		SourceLabel: "map[XInt8]XInt8{}",
		Source:      map[XInt8]XInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XInt8]XInt8{}",
		Target:      map[XInt8]XInt8(nil),
		SourceLabel: "map[XByte]XByte{}",
		Source:      map[XByte]XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XInt8]XInt8{}",
		Target:      map[XInt8]XInt8(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XInt8]XInt8{-123: -123}",
		Target: map[XInt8]XInt8{
			-123: -123,
		},
		SourceLabel: "map[XInt8]XInt8{-123: -123}",
		Source: map[XInt8]XInt8{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XInt8]XInt8{-123: -123}",
		Target: map[XInt8]XInt8{
			-123: -123,
		},
		SourceLabel: "XMap_Int64_Int64{-123: -123}",
		Source: XMap_Int64_Int64{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XInt8]XInt8{-47: -18, 0: -48, 51: 7}",
		Target: map[XInt8]XInt8{
			-47: -18,
			0:   -48,
			51:  7,
		},
		SourceLabel: "map[XInt8]XInt8{-47: -18, 0: -48, 51: 7}",
		Source: map[XInt8]XInt8{
			-47: -18,
			0:   -48,
			51:  7,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XInt8]XInt8{-47: -18, 0: -48, 51: 7}",
		Target: map[XInt8]XInt8{
			-47: -18,
			0:   -48,
			51:  7,
		},
		SourceLabel: "XMap_XInt32_XInt32{-47: -18, 0: -48, 51: 7}",
		Source: XMap_XInt32_XInt32{
			-47: -18,
			0:   -48,
			51:  7,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_Bool_Bool{}",
		Target:      XMap_Bool_Bool(nil),
		SourceLabel: "XMap_Bool_Bool{}",
		Source:      XMap_Bool_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Bool_Bool{}",
		Target:      XMap_Bool_Bool(nil),
		SourceLabel: "map[bool]bool{}",
		Source:      map[bool]bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Bool_Bool{}",
		Target:      XMap_Bool_Bool(nil),
		SourceLabel: "map[XBool]XBool{}",
		Source:      map[XBool]XBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_Bool_Bool{true: true}",
		Target: XMap_Bool_Bool{
			true: true,
		},
		SourceLabel: "XMap_Bool_Bool{true: true}",
		Source: XMap_Bool_Bool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_Bool_Bool{true: true}",
		Target: XMap_Bool_Bool{
			true: true,
		},
		SourceLabel: "XMap_XBool_XBool{true: true}",
		Source: XMap_XBool_XBool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XBool_XBool{}",
		Target:      XMap_XBool_XBool(nil),
		SourceLabel: "XMap_XBool_XBool{}",
		Source:      XMap_XBool_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XBool_XBool{}",
		Target:      XMap_XBool_XBool(nil),
		SourceLabel: "XMap_Bool_Bool{}",
		Source:      XMap_Bool_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XBool_XBool{}",
		Target:      XMap_XBool_XBool(nil),
		SourceLabel: "map[bool]bool{}",
		Source:      map[bool]bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XBool_XBool{true: true}",
		Target: XMap_XBool_XBool{
			true: true,
		},
		SourceLabel: "XMap_XBool_XBool{true: true}",
		Source: XMap_XBool_XBool{
			true: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XBool_XBool{true: true}",
		Target: XMap_XBool_XBool{
			true: true,
		},
		SourceLabel: "map[bool]bool{true: true}",
		Source: map[bool]bool{
			true: true,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_String_String{}",
		Target:      XMap_String_String(nil),
		SourceLabel: "XMap_String_String{}",
		Source:      XMap_String_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_String_String{}",
		Target:      XMap_String_String(nil),
		SourceLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Source:      XMap_XEnumAbc_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_String_String{}",
		Target:      XMap_String_String(nil),
		SourceLabel: "map[XEnumAbc]XEnumAbc{}",
		Source:      map[XEnumAbc]XEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_String_String{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XMap_String_String{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_String_String{\"\": \"cdeΔΘΠΣΦ王普\", \"cdeΔΘΠ\": \"cdeΔΘΠΣΦ王普\"}",
		Target: XMap_String_String{
			"":       "cdeΔΘΠΣΦ王普",
			"cdeΔΘΠ": "cdeΔΘΠΣΦ王普",
		},
		SourceLabel: "XMap_String_String{\"\": \"cdeΔΘΠΣΦ王普\", \"cdeΔΘΠ\": \"cdeΔΘΠΣΦ王普\"}",
		Source: XMap_String_String{
			"":       "cdeΔΘΠΣΦ王普",
			"cdeΔΘΠ": "cdeΔΘΠΣΦ王普",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_String_String{\"\": \"cdeΔΘΠΣΦ王普\", \"cdeΔΘΠ\": \"cdeΔΘΠΣΦ王普\"}",
		Target: XMap_String_String{
			"":       "cdeΔΘΠΣΦ王普",
			"cdeΔΘΠ": "cdeΔΘΠΣΦ王普",
		},
		SourceLabel: "map[XString]XString{\"\": \"cdeΔΘΠΣΦ王普\", \"cdeΔΘΠ\": \"cdeΔΘΠΣΦ王普\"}",
		Source: map[XString]XString{
			"":       "cdeΔΘΠΣΦ王普",
			"cdeΔΘΠ": "cdeΔΘΠΣΦ王普",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XString_XString{}",
		Target:      XMap_XString_XString(nil),
		SourceLabel: "XMap_XString_XString{}",
		Source:      XMap_XString_XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XString_XString{}",
		Target:      XMap_XString_XString(nil),
		SourceLabel: "map[XEnumBcd]XEnumBcd{}",
		Source:      map[XEnumBcd]XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XString_XString{}",
		Target:      XMap_XString_XString(nil),
		SourceLabel: "map[XString]XString{}",
		Source:      map[XString]XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"e\"}",
		Target: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "e",
		},
		SourceLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"e\"}",
		Source: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "e",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XString_XString{\"abcdeΔΘΠΣΦ王普澤世界\": \"e\"}",
		Target: XMap_XString_XString{
			"abcdeΔΘΠΣΦ王普澤世界": "e",
		},
		SourceLabel: "map[string]string{\"abcdeΔΘΠΣΦ王普澤世界\": \"e\"}",
		Source: map[string]string{
			"abcdeΔΘΠΣΦ王普澤世界": "e",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_Byte_Byte{}",
		Target:      XMap_Byte_Byte(nil),
		SourceLabel: "XMap_Byte_Byte{}",
		Source:      XMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Byte_Byte{}",
		Target:      XMap_Byte_Byte(nil),
		SourceLabel: "map[XInt8]XInt8{}",
		Source:      map[XInt8]XInt8(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Byte_Byte{}",
		Target:      XMap_Byte_Byte(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_Byte_Byte{123: 123}",
		Target: XMap_Byte_Byte{
			123: 123,
		},
		SourceLabel: "XMap_Byte_Byte{123: 123}",
		Source: XMap_Byte_Byte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_Byte_Byte{123: 123}",
		Target: XMap_Byte_Byte{
			123: 123,
		},
		SourceLabel: "XMap_XInt32_XInt32{123: 123}",
		Source: XMap_XInt32_XInt32{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_Byte_Byte{169: 194, 238: 170, 248: 145}",
		Target: XMap_Byte_Byte{
			169: 194,
			238: 170,
			248: 145,
		},
		SourceLabel: "XMap_Byte_Byte{169: 194, 238: 170, 248: 145}",
		Source: XMap_Byte_Byte{
			169: 194,
			238: 170,
			248: 145,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_Byte_Byte{169: 194, 238: 170, 248: 145}",
		Target: XMap_Byte_Byte{
			169: 194,
			238: 170,
			248: 145,
		},
		SourceLabel: "XMap_XUint32_XUint32{169: 194, 238: 170, 248: 145}",
		Source: XMap_XUint32_XUint32{
			169: 194,
			238: 170,
			248: 145,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XByte_XByte{}",
		Target:      XMap_XByte_XByte(nil),
		SourceLabel: "XMap_XByte_XByte{}",
		Source:      XMap_XByte_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XByte_XByte{}",
		Target:      XMap_XByte_XByte(nil),
		SourceLabel: "map[XByte]XByte{}",
		Source:      map[XByte]XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XByte_XByte{}",
		Target:      XMap_XByte_XByte(nil),
		SourceLabel: "XMap_Int64_Int64{}",
		Source:      XMap_Int64_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XByte_XByte{123: 123}",
		Target: XMap_XByte_XByte{
			123: 123,
		},
		SourceLabel: "XMap_XByte_XByte{123: 123}",
		Source: XMap_XByte_XByte{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XByte_XByte{123: 123}",
		Target: XMap_XByte_XByte{
			123: 123,
		},
		SourceLabel: "XMap_XUint32_XUint32{123: 123}",
		Source: XMap_XUint32_XUint32{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XByte_XByte{132: 126, 240: 115}",
		Target: XMap_XByte_XByte{
			132: 126,
			240: 115,
		},
		SourceLabel: "XMap_XByte_XByte{132: 126, 240: 115}",
		Source: XMap_XByte_XByte{
			132: 126,
			240: 115,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XByte_XByte{132: 126, 240: 115}",
		Target: XMap_XByte_XByte{
			132: 126,
			240: 115,
		},
		SourceLabel: "XMap_Byte_Byte{132: 126, 240: 115}",
		Source: XMap_Byte_Byte{
			132: 126,
			240: 115,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Target:      XMap_XEnumAbc_XEnumAbc(nil),
		SourceLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Source:      XMap_XEnumAbc_XEnumAbc(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Target:      XMap_XEnumAbc_XEnumAbc(nil),
		SourceLabel: "XMap_String_String{}",
		Source:      XMap_String_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Target:      XMap_XEnumAbc_XEnumAbc(nil),
		SourceLabel: "map[XString]XString{}",
		Source:      map[XString]XString(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XEnumAbc_XEnumAbc{C: C}",
		Target: XMap_XEnumAbc_XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
		SourceLabel: "XMap_XEnumAbc_XEnumAbc{C: C}",
		Source: XMap_XEnumAbc_XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XEnumAbc_XEnumAbc{C: C}",
		Target: XMap_XEnumAbc_XEnumAbc{
			XEnumAbcC: XEnumAbcC,
		},
		SourceLabel: "XMap_String_String{\"C\": \"C\"}",
		Source: XMap_String_String{
			"C": "C",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Target:      XMap_XEnumBcd_XEnumBcd(nil),
		SourceLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Source:      XMap_XEnumBcd_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Target:      XMap_XEnumBcd_XEnumBcd(nil),
		SourceLabel: "XMap_String_String{}",
		Source:      XMap_String_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XEnumBcd_XEnumBcd{}",
		Target:      XMap_XEnumBcd_XEnumBcd(nil),
		SourceLabel: "XMap_XEnumAbc_XEnumAbc{}",
		Source:      XMap_XEnumAbc_XEnumAbc(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XEnumBcd_XEnumBcd{D: D}",
		Target: XMap_XEnumBcd_XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
		SourceLabel: "XMap_XEnumBcd_XEnumBcd{D: D}",
		Source: XMap_XEnumBcd_XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XEnumBcd_XEnumBcd{D: D}",
		Target: XMap_XEnumBcd_XEnumBcd{
			XEnumBcdD: XEnumBcdD,
		},
		SourceLabel: "XMap_String_String{\"D\": \"D\"}",
		Source: XMap_String_String{
			"D": "D",
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Target:      XMap_XStructEmpty_XStructEmpty(nil),
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Source:      XMap_XStructEmpty_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Target:      XMap_XStructEmpty_XStructEmpty(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Target:      XMap_XStructEmpty_XStructEmpty(nil),
		SourceLabel: "map[XStructDepth1_String]XStructDepth1_String{}",
		Source:      map[XStructDepth1_String]XStructDepth1_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XStructEmpty_XStructEmpty{{}: {}}",
		Target: XMap_XStructEmpty_XStructEmpty{
			{}: {},
		},
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{{}: {}}",
		Source: XMap_XStructEmpty_XStructEmpty{
			{}: {},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XStructEmpty_XStructEmpty{{}: {}}",
		Target: XMap_XStructEmpty_XStructEmpty{
			{}: {},
		},
		SourceLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{}: {}}",
		Source: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{},
			}: {
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XNamedError_XNamedError{}",
		Target:      XMap_XNamedError_XNamedError(nil),
		SourceLabel: "XMap_XNamedError_XNamedError{}",
		Source:      XMap_XNamedError_XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XNamedError_XNamedError{}",
		Target:      XMap_XNamedError_XNamedError(nil),
		SourceLabel: "map[XNamedError]XNamedError{}",
		Source:      map[XNamedError]XNamedError(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XNamedError_XNamedError{}",
		Target:      XMap_XNamedError_XNamedError(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XNamedError_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XMap_XNamedError_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XMap_XNamedError_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XMap_XNamedError_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XNamedError_XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XMap_XNamedError_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[XNamedError]XNamedError{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XNamedError]XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XNamedError_XNamedError{{}: {Id: \"eΔΘΠΣΦ\", Msg: \"ΔΘΠΣΦ王\"}, {Id: \"deΔΘΠΣΦ王普澤\", Msg: \"ΔΘ\"}: {Id: \"abcdeΔΘΠ\", Msg: \"Φ王\"}, {Id: \"王普澤世\", Msg: \"deΔΘΠΣΦ王\"}: {Id: \"普\"}}",
		Target: XMap_XNamedError_XNamedError{
			{}: {
				Id:  "eΔΘΠΣΦ",
				Msg: "ΔΘΠΣΦ王",
			},
			{
				Id:  "deΔΘΠΣΦ王普澤",
				Msg: "ΔΘ",
			}: {
				Id:  "abcdeΔΘΠ",
				Msg: "Φ王",
			},
			{
				Id:  "王普澤世",
				Msg: "deΔΘΠΣΦ王",
			}: {
				Id: "普",
			},
		},
		SourceLabel: "XMap_XNamedError_XNamedError{{}: {Id: \"eΔΘΠΣΦ\", Msg: \"ΔΘΠΣΦ王\"}, {Id: \"deΔΘΠΣΦ王普澤\", Msg: \"ΔΘ\"}: {Id: \"abcdeΔΘΠ\", Msg: \"Φ王\"}, {Id: \"王普澤世\", Msg: \"deΔΘΠΣΦ王\"}: {Id: \"普\"}}",
		Source: XMap_XNamedError_XNamedError{
			{}: {
				Id:  "eΔΘΠΣΦ",
				Msg: "ΔΘΠΣΦ王",
			},
			{
				Id:  "deΔΘΠΣΦ王普澤",
				Msg: "ΔΘ",
			}: {
				Id:  "abcdeΔΘΠ",
				Msg: "Φ王",
			},
			{
				Id:  "王普澤世",
				Msg: "deΔΘΠΣΦ王",
			}: {
				Id: "普",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XNamedError_XNamedError{{}: {Id: \"eΔΘΠΣΦ\", Msg: \"ΔΘΠΣΦ王\"}, {Id: \"deΔΘΠΣΦ王普澤\", Msg: \"ΔΘ\"}: {Id: \"abcdeΔΘΠ\", Msg: \"Φ王\"}, {Id: \"王普澤世\", Msg: \"deΔΘΠΣΦ王\"}: {Id: \"普\"}}",
		Target: XMap_XNamedError_XNamedError{
			{}: {
				Id:  "eΔΘΠΣΦ",
				Msg: "ΔΘΠΣΦ王",
			},
			{
				Id:  "deΔΘΠΣΦ王普澤",
				Msg: "ΔΘ",
			}: {
				Id:  "abcdeΔΘΠ",
				Msg: "Φ王",
			},
			{
				Id:  "王普澤世",
				Msg: "deΔΘΠΣΦ王",
			}: {
				Id: "普",
			},
		},
		SourceLabel: "map[XNamedError]XNamedError{{}: {Id: \"eΔΘΠΣΦ\", Msg: \"ΔΘΠΣΦ王\"}, {Id: \"deΔΘΠΣΦ王普澤\", Msg: \"ΔΘ\"}: {Id: \"abcdeΔΘΠ\", Msg: \"Φ王\"}, {Id: \"王普澤世\", Msg: \"deΔΘΠΣΦ王\"}: {Id: \"普\"}}",
		Source: map[XNamedError]XNamedError{
			{}: {
				Id:  "eΔΘΠΣΦ",
				Msg: "ΔΘΠΣΦ王",
			},
			{
				Id:  "deΔΘΠΣΦ王普澤",
				Msg: "ΔΘ",
			}: {
				Id:  "abcdeΔΘΠ",
				Msg: "Φ王",
			},
			{
				Id:  "王普澤世",
				Msg: "deΔΘΠΣΦ王",
			}: {
				Id: "普",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XUint32_XUint32{}",
		Target:      XMap_XUint32_XUint32(nil),
		SourceLabel: "XMap_XUint32_XUint32{}",
		Source:      XMap_XUint32_XUint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XUint32_XUint32{}",
		Target:      XMap_XUint32_XUint32(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XUint32_XUint32{}",
		Target:      XMap_XUint32_XUint32(nil),
		SourceLabel: "map[uint32]uint32{}",
		Source:      map[uint32]uint32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XUint32_XUint32{123: 123}",
		Target: XMap_XUint32_XUint32{
			123: 123,
		},
		SourceLabel: "XMap_XUint32_XUint32{123: 123}",
		Source: XMap_XUint32_XUint32{
			123: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XUint32_XUint32{123: 123}",
		Target: XMap_XUint32_XUint32{
			123: 123,
		},
		SourceLabel: "map[XInt8]XInt8{123: 123}",
		Source: map[XInt8]XInt8{
			123: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XUint32_XUint32{1534075436: 0}",
		Target: XMap_XUint32_XUint32{
			1534075436: 0,
		},
		SourceLabel: "XMap_XUint32_XUint32{1534075436: 0}",
		Source: XMap_XUint32_XUint32{
			1534075436: 0,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XUint32_XUint32{1534075436: 0}",
		Target: XMap_XUint32_XUint32{
			1534075436: 0,
		},
		SourceLabel: "map[uint32]uint32{1534075436: 0}",
		Source: map[uint32]uint32{
			1534075436: 0,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XInt32_XInt32{}",
		Target:      XMap_XInt32_XInt32(nil),
		SourceLabel: "XMap_XInt32_XInt32{}",
		Source:      XMap_XInt32_XInt32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XInt32_XInt32{}",
		Target:      XMap_XInt32_XInt32(nil),
		SourceLabel: "map[XByte]XByte{}",
		Source:      map[XByte]XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XInt32_XInt32{}",
		Target:      XMap_XInt32_XInt32(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XInt32_XInt32{-123: -123}",
		Target: XMap_XInt32_XInt32{
			-123: -123,
		},
		SourceLabel: "XMap_XInt32_XInt32{-123: -123}",
		Source: XMap_XInt32_XInt32{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XInt32_XInt32{-123: -123}",
		Target: XMap_XInt32_XInt32{
			-123: -123,
		},
		SourceLabel: "map[XInt8]XInt8{-123: -123}",
		Source: map[XInt8]XInt8{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XInt32_XInt32{-1046909901: 611299320, 768096761: 0, 806104396: -367759924}",
		Target: XMap_XInt32_XInt32{
			-1046909901: 611299320,
			768096761:   0,
			806104396:   -367759924,
		},
		SourceLabel: "XMap_XInt32_XInt32{-1046909901: 611299320, 768096761: 0, 806104396: -367759924}",
		Source: XMap_XInt32_XInt32{
			-1046909901: 611299320,
			768096761:   0,
			806104396:   -367759924,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XInt32_XInt32{-1046909901: 611299320, 768096761: 0, 806104396: -367759924}",
		Target: XMap_XInt32_XInt32{
			-1046909901: 611299320,
			768096761:   0,
			806104396:   -367759924,
		},
		SourceLabel: "XMap_Int64_Int64{-1046909901: 611299320, 768096761: 0, 806104396: -367759924}",
		Source: XMap_Int64_Int64{
			-1046909901: 611299320,
			768096761:   0,
			806104396:   -367759924,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_Int64_Int64{}",
		Target:      XMap_Int64_Int64(nil),
		SourceLabel: "XMap_Int64_Int64{}",
		Source:      XMap_Int64_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Int64_Int64{}",
		Target:      XMap_Int64_Int64(nil),
		SourceLabel: "map[XUint64]XUint64{}",
		Source:      map[XUint64]XUint64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_Int64_Int64{}",
		Target:      XMap_Int64_Int64(nil),
		SourceLabel: "XMap_XInt32_XInt32{}",
		Source:      XMap_XInt32_XInt32(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_Int64_Int64{-123: -123}",
		Target: XMap_Int64_Int64{
			-123: -123,
		},
		SourceLabel: "XMap_Int64_Int64{-123: -123}",
		Source: XMap_Int64_Int64{
			-123: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_Int64_Int64{-123: -123}",
		Target: XMap_Int64_Int64{
			-123: -123,
		},
		SourceLabel: "XMap_XInt32_XInt32{-123: -123}",
		Source: XMap_XInt32_XInt32{
			-123: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_Int64_Int64{-2433051775813238070: -2863189162956388116, -2722828228170997348: 2712661314817834454, -3416123324637362609: 3969058170532921483}",
		Target: XMap_Int64_Int64{
			-2433051775813238070: -2863189162956388116,
			-2722828228170997348: 2712661314817834454,
			-3416123324637362609: 3969058170532921483,
		},
		SourceLabel: "XMap_Int64_Int64{-2433051775813238070: -2863189162956388116, -2722828228170997348: 2712661314817834454, -3416123324637362609: 3969058170532921483}",
		Source: XMap_Int64_Int64{
			-2433051775813238070: -2863189162956388116,
			-2722828228170997348: 2712661314817834454,
			-3416123324637362609: 3969058170532921483,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_All{}",
		Target: XStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_All{}",
		Target: XStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "XStructDepth1_XInt64{}",
		Source:      XStructDepth1_XInt64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_All{}",
		Target: XStructDepth1_All{
			F5: vdl.AnyType,
		},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_All{F0: XSet_XString{\"\", \"bcd\"}, F2: true, F3: \"a\", F4: \"eΔΘΠ\", F7: 10, F8: C, F9: C, F11: {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"ΔΘΠΣ\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤世界\", Msg: \"bcdeΔΘ\"}, F13: 48056, F15: 2308381474, F16: 1018037404, F17: 617702218553513613, F18: 17507951721915500623, F20: -35, F21: 14950, F22: -7590, F23: 774132807, F25: 134213658246658943, F28: -1.3198257e+09, F30: 1.1303229769991276e+09, F31: {}}",
		Target: XStructDepth1_All{
			F0: XSet_XString{
				"":    struct{}{},
				"bcd": struct{}{},
			},
			F2: true,
			F3: "a",
			F4: "eΔΘΠ",
			F5: vdl.AnyType,
			F7: 10,
			F8: XEnumAbcC,
			F9: XEnumBcdC,
			F11: XNamedError{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "ΔΘΠΣ",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:  "bcdeΔΘΠΣΦ王普澤世界",
				Msg: "bcdeΔΘ",
			}),
			F13: 48056,
			F15: 2308381474,
			F16: 1018037404,
			F17: 617702218553513613,
			F18: 17507951721915500623,
			F20: -35,
			F21: 14950,
			F22: -7590,
			F23: 774132807,
			F25: 134213658246658943,
			F28: -1.3198257e+09,
			F30: 1.1303229769991276e+09,
			F31: &XStructEmpty{},
		},
		SourceLabel: "XStructDepth1_All{F0: XSet_XString{\"\", \"bcd\"}, F2: true, F3: \"a\", F4: \"eΔΘΠ\", F7: 10, F8: C, F9: C, F11: {Id: \"ΔΘΠΣΦ王普澤世\", Msg: \"ΔΘΠΣ\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤世界\", Msg: \"bcdeΔΘ\"}, F13: 48056, F15: 2308381474, F16: 1018037404, F17: 617702218553513613, F18: 17507951721915500623, F20: -35, F21: 14950, F22: -7590, F23: 774132807, F25: 134213658246658943, F28: -1.3198257e+09, F30: 1.1303229769991276e+09, F31: {}}",
		Source: XStructDepth1_All{
			F0: XSet_XString{
				"":    struct{}{},
				"bcd": struct{}{},
			},
			F2: true,
			F3: "a",
			F4: "eΔΘΠ",
			F5: vdl.AnyType,
			F7: 10,
			F8: XEnumAbcC,
			F9: XEnumBcdC,
			F11: XNamedError{
				Id:  "ΔΘΠΣΦ王普澤世",
				Msg: "ΔΘΠΣ",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:  "bcdeΔΘΠΣΦ王普澤世界",
				Msg: "bcdeΔΘ",
			}),
			F13: 48056,
			F15: 2308381474,
			F16: 1018037404,
			F17: 617702218553513613,
			F18: 17507951721915500623,
			F20: -35,
			F21: 14950,
			F22: -7590,
			F23: 774132807,
			F25: 134213658246658943,
			F28: -1.3198257e+09,
			F30: 1.1303229769991276e+09,
			F31: &XStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Any{}",
		Target:      XStructDepth1_Any{},
		SourceLabel: "XStructDepth1_Any{}",
		Source:      XStructDepth1_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Any{}",
		Target:      XStructDepth1_Any{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Any{}",
		Target:      XStructDepth1_Any{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Any{F0: int64(-123)}",
		Target: XStructDepth1_Any{
			F0: int64(-123),
		},
		SourceLabel: "XStructDepth1_Any{F0: int64(-123)}",
		Source: XStructDepth1_Any{
			F0: int64(-123),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Any{F0: int64(-123)}",
		Target: XStructDepth1_Any{
			F0: int64(-123),
		},
		SourceLabel: "XStructDepth1_All{F0: int64(-123)}",
		Source: XStructDepth1_All{
			F0: int64(-123),
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Any{F0: XStructDepth1_XUint64{F18: 8008414653471216551}}",
		Target: XStructDepth1_Any{
			F0: XStructDepth1_XUint64{
				F18: 8008414653471216551,
			},
		},
		SourceLabel: "XStructDepth1_Any{F0: XStructDepth1_XUint64{F18: 8008414653471216551}}",
		Source: XStructDepth1_Any{
			F0: XStructDepth1_XUint64{
				F18: 8008414653471216551,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Any{F0: XStructDepth1_XUint64{F18: 8008414653471216551}}",
		Target: XStructDepth1_Any{
			F0: XStructDepth1_XUint64{
				F18: 8008414653471216551,
			},
		},
		SourceLabel: "XStructDepth1_All{F0: XStructDepth1_XUint64{F18: 8008414653471216551}}",
		Source: XStructDepth1_All{
			F0: XStructDepth1_XUint64{
				F18: 8008414653471216551,
			},
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Bool{}",
		Target:      XStructDepth1_Bool{},
		SourceLabel: "XStructDepth1_Bool{}",
		Source:      XStructDepth1_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Bool{}",
		Target:      XStructDepth1_Bool{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Bool{}",
		Target:      XStructDepth1_Bool{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Bool{F1: true}",
		Target: XStructDepth1_Bool{
			F1: true,
		},
		SourceLabel: "XStructDepth1_Bool{F1: true}",
		Source: XStructDepth1_Bool{
			F1: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Bool{F1: true}",
		Target: XStructDepth1_Bool{
			F1: true,
		},
		SourceLabel: "XStructDepth1_All{F1: true}",
		Source: XStructDepth1_All{
			F1: true,
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XBool{}",
		Target:      XStructDepth1_XBool{},
		SourceLabel: "XStructDepth1_XBool{}",
		Source:      XStructDepth1_XBool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XBool{}",
		Target:      XStructDepth1_XBool{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XBool{}",
		Target:      XStructDepth1_XBool{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XBool{F2: true}",
		Target: XStructDepth1_XBool{
			F2: true,
		},
		SourceLabel: "XStructDepth1_XBool{F2: true}",
		Source: XStructDepth1_XBool{
			F2: true,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XBool{F2: true}",
		Target: XStructDepth1_XBool{
			F2: true,
		},
		SourceLabel: "XStructDepth1_All{F2: true}",
		Source: XStructDepth1_All{
			F2: true,
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_String{}",
		Target:      XStructDepth1_String{},
		SourceLabel: "XStructDepth1_String{}",
		Source:      XStructDepth1_String{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_String{}",
		Target:      XStructDepth1_String{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_String{}",
		Target:      XStructDepth1_String{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XStructDepth1_String{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XStructDepth1_All{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XStructDepth1_All{
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_String{F3: \"ΔΘ\"}",
		Target: XStructDepth1_String{
			F3: "ΔΘ",
		},
		SourceLabel: "XStructDepth1_String{F3: \"ΔΘ\"}",
		Source: XStructDepth1_String{
			F3: "ΔΘ",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_String{F3: \"ΔΘ\"}",
		Target: XStructDepth1_String{
			F3: "ΔΘ",
		},
		SourceLabel: "XStructDepth1_All{F3: \"ΔΘ\"}",
		Source: XStructDepth1_All{
			F3: "ΔΘ",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XString{}",
		Target:      XStructDepth1_XString{},
		SourceLabel: "XStructDepth1_XString{}",
		Source:      XStructDepth1_XString{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XString{}",
		Target:      XStructDepth1_XString{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XString{}",
		Target:      XStructDepth1_XString{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XStructDepth1_XString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XStructDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XStructDepth1_XString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target: XStructDepth1_XString{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
		},
		SourceLabel: "XStructDepth1_All{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source: XStructDepth1_All{
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XString{F4: \"ΔΘΠΣΦ王\"}",
		Target: XStructDepth1_XString{
			F4: "ΔΘΠΣΦ王",
		},
		SourceLabel: "XStructDepth1_XString{F4: \"ΔΘΠΣΦ王\"}",
		Source: XStructDepth1_XString{
			F4: "ΔΘΠΣΦ王",
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XString{F4: \"ΔΘΠΣΦ王\"}",
		Target: XStructDepth1_XString{
			F4: "ΔΘΠΣΦ王",
		},
		SourceLabel: "XStructDepth1_All{F4: \"ΔΘΠΣΦ王\"}",
		Source: XStructDepth1_All{
			F4: "ΔΘΠΣΦ王",
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_TypeObject{}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "XStructDepth1_TypeObject{}",
		Source: XStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_TypeObject{}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_TypeObject{}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.AnyType,
		},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_TypeObject{F5: typeobject(int64)}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
		SourceLabel: "XStructDepth1_TypeObject{F5: typeobject(int64)}",
		Source: XStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_TypeObject{F5: typeobject(int64)}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.Int64Type,
		},
		SourceLabel: "XStructDepth1_All{F5: typeobject(int64)}",
		Source: XStructDepth1_All{
			F5: vdl.Int64Type,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_TypeObject{F5: typeobject(XStructDepth1_XInt16)}",
		Target: XStructDepth1_TypeObject{
			F5: __VDLType_struct_296,
		},
		SourceLabel: "XStructDepth1_TypeObject{F5: typeobject(XStructDepth1_XInt16)}",
		Source: XStructDepth1_TypeObject{
			F5: __VDLType_struct_296,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_TypeObject{F5: typeobject(XStructDepth1_XInt16)}",
		Target: XStructDepth1_TypeObject{
			F5: __VDLType_struct_296,
		},
		SourceLabel: "XStructDepth1_All{F5: typeobject(XStructDepth1_XInt16)}",
		Source: XStructDepth1_All{
			F5: __VDLType_struct_296,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Byte{}",
		Target:      XStructDepth1_Byte{},
		SourceLabel: "XStructDepth1_Byte{}",
		Source:      XStructDepth1_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Byte{}",
		Target:      XStructDepth1_Byte{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Byte{}",
		Target:      XStructDepth1_Byte{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Byte{F6: 123}",
		Target: XStructDepth1_Byte{
			F6: 123,
		},
		SourceLabel: "XStructDepth1_Byte{F6: 123}",
		Source: XStructDepth1_Byte{
			F6: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Byte{F6: 123}",
		Target: XStructDepth1_Byte{
			F6: 123,
		},
		SourceLabel: "XStructDepth1_All{F6: 123}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F6: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Byte{F6: 245}",
		Target: XStructDepth1_Byte{
			F6: 245,
		},
		SourceLabel: "XStructDepth1_Byte{F6: 245}",
		Source: XStructDepth1_Byte{
			F6: 245,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Byte{F6: 245}",
		Target: XStructDepth1_Byte{
			F6: 245,
		},
		SourceLabel: "XStructDepth1_All{F6: 245}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F6: 245,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XByte{}",
		Target:      XStructDepth1_XByte{},
		SourceLabel: "XStructDepth1_XByte{}",
		Source:      XStructDepth1_XByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XByte{}",
		Target:      XStructDepth1_XByte{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XByte{}",
		Target:      XStructDepth1_XByte{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XByte{F7: 123}",
		Target: XStructDepth1_XByte{
			F7: 123,
		},
		SourceLabel: "XStructDepth1_XByte{F7: 123}",
		Source: XStructDepth1_XByte{
			F7: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XByte{F7: 123}",
		Target: XStructDepth1_XByte{
			F7: 123,
		},
		SourceLabel: "XStructDepth1_All{F7: 123}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F7: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XByte{F7: 128}",
		Target: XStructDepth1_XByte{
			F7: 128,
		},
		SourceLabel: "XStructDepth1_XByte{F7: 128}",
		Source: XStructDepth1_XByte{
			F7: 128,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XByte{F7: 128}",
		Target: XStructDepth1_XByte{
			F7: 128,
		},
		SourceLabel: "XStructDepth1_All{F7: 128}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F7: 128,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumAbc{}",
		Target:      XStructDepth1_XEnumAbc{},
		SourceLabel: "XStructDepth1_XEnumAbc{}",
		Source:      XStructDepth1_XEnumAbc{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumAbc{}",
		Target:      XStructDepth1_XEnumAbc{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumAbc{}",
		Target:      XStructDepth1_XEnumAbc{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XEnumAbc{F8: C}",
		Target: XStructDepth1_XEnumAbc{
			F8: XEnumAbcC,
		},
		SourceLabel: "XStructDepth1_XEnumAbc{F8: C}",
		Source: XStructDepth1_XEnumAbc{
			F8: XEnumAbcC,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XEnumAbc{F8: C}",
		Target: XStructDepth1_XEnumAbc{
			F8: XEnumAbcC,
		},
		SourceLabel: "XStructDepth1_All{F8: C}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F8: XEnumAbcC,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumBcd{}",
		Target:      XStructDepth1_XEnumBcd{},
		SourceLabel: "XStructDepth1_XEnumBcd{}",
		Source:      XStructDepth1_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumBcd{}",
		Target:      XStructDepth1_XEnumBcd{},
		SourceLabel: "?XStructDepth1_XEnumBcd{}",
		Source:      &XStructDepth1_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XEnumBcd{}",
		Target:      XStructDepth1_XEnumBcd{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XEnumBcd{F9: D}",
		Target: XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
		SourceLabel: "XStructDepth1_XEnumBcd{F9: D}",
		Source: XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XEnumBcd{F9: D}",
		Target: XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
		SourceLabel: "?XStructDepth1_XEnumBcd{F9: D}",
		Source: &XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XStructEmpty{}",
		Target:      XStructDepth1_XStructEmpty{},
		SourceLabel: "XStructDepth1_XStructEmpty{}",
		Source:      XStructDepth1_XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XStructEmpty{}",
		Target:      XStructDepth1_XStructEmpty{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XStructEmpty{}",
		Target:      XStructDepth1_XStructEmpty{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XNamedError{}",
		Target:      XStructDepth1_XNamedError{},
		SourceLabel: "XStructDepth1_XNamedError{}",
		Source:      XStructDepth1_XNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XNamedError{}",
		Target:      XStructDepth1_XNamedError{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XNamedError{}",
		Target:      XStructDepth1_XNamedError{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XStructDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XStructDepth1_All{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XNamedError{F11: {Id: \"d\", Msg: \"e\"}}",
		Target: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "d",
				Msg: "e",
			},
		},
		SourceLabel: "XStructDepth1_XNamedError{F11: {Id: \"d\", Msg: \"e\"}}",
		Source: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "d",
				Msg: "e",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XNamedError{F11: {Id: \"d\", Msg: \"e\"}}",
		Target: XStructDepth1_XNamedError{
			F11: XNamedError{
				Id:  "d",
				Msg: "e",
			},
		},
		SourceLabel: "XStructDepth1_All{F11: {Id: \"d\", Msg: \"e\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F11: XNamedError{
				Id:  "d",
				Msg: "e",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Error{}",
		Target:      XStructDepth1_Error{},
		SourceLabel: "XStructDepth1_Error{}",
		Source:      XStructDepth1_Error{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Error{}",
		Target:      XStructDepth1_Error{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Error{}",
		Target:      XStructDepth1_Error{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
		SourceLabel: "XStructDepth1_All{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘ\", Msg: \"ΔΘΠΣ\"}}",
		Target: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘ",
				Msg: "ΔΘΠΣ",
			}),
		},
		SourceLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘ\", Msg: \"ΔΘΠΣ\"}}",
		Source: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘ",
				Msg: "ΔΘΠΣ",
			}),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Error{F12: {Id: \"abcdeΔΘ\", Msg: \"ΔΘΠΣ\"}}",
		Target: XStructDepth1_Error{
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘ",
				Msg: "ΔΘΠΣ",
			}),
		},
		SourceLabel: "XStructDepth1_All{F12: {Id: \"abcdeΔΘ\", Msg: \"ΔΘΠΣ\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F12: verror.FromWire(&vdl.WireError{
				Id:  "abcdeΔΘ",
				Msg: "ΔΘΠΣ",
			}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint16{}",
		Target:      XStructDepth1_Uint16{},
		SourceLabel: "XStructDepth1_Uint16{}",
		Source:      XStructDepth1_Uint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint16{}",
		Target:      XStructDepth1_Uint16{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint16{}",
		Target:      XStructDepth1_Uint16{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint16{F13: 123}",
		Target: XStructDepth1_Uint16{
			F13: 123,
		},
		SourceLabel: "XStructDepth1_Uint16{F13: 123}",
		Source: XStructDepth1_Uint16{
			F13: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint16{F13: 123}",
		Target: XStructDepth1_Uint16{
			F13: 123,
		},
		SourceLabel: "XStructDepth1_All{F13: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F13: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint16{F13: 30628}",
		Target: XStructDepth1_Uint16{
			F13: 30628,
		},
		SourceLabel: "XStructDepth1_Uint16{F13: 30628}",
		Source: XStructDepth1_Uint16{
			F13: 30628,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint16{F13: 30628}",
		Target: XStructDepth1_Uint16{
			F13: 30628,
		},
		SourceLabel: "XStructDepth1_All{F13: 30628}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F13: 30628,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint16{}",
		Target:      XStructDepth1_XUint16{},
		SourceLabel: "XStructDepth1_XUint16{}",
		Source:      XStructDepth1_XUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint16{}",
		Target:      XStructDepth1_XUint16{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint16{}",
		Target:      XStructDepth1_XUint16{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint16{F14: 123}",
		Target: XStructDepth1_XUint16{
			F14: 123,
		},
		SourceLabel: "XStructDepth1_XUint16{F14: 123}",
		Source: XStructDepth1_XUint16{
			F14: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint16{F14: 123}",
		Target: XStructDepth1_XUint16{
			F14: 123,
		},
		SourceLabel: "XStructDepth1_All{F14: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F14: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint16{F14: 45910}",
		Target: XStructDepth1_XUint16{
			F14: 45910,
		},
		SourceLabel: "XStructDepth1_XUint16{F14: 45910}",
		Source: XStructDepth1_XUint16{
			F14: 45910,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint16{F14: 45910}",
		Target: XStructDepth1_XUint16{
			F14: 45910,
		},
		SourceLabel: "?XStructDepth1_XUint16{F14: 45910}",
		Source: &XStructDepth1_XUint16{
			F14: 45910,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint32{}",
		Target:      XStructDepth1_Uint32{},
		SourceLabel: "XStructDepth1_Uint32{}",
		Source:      XStructDepth1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint32{}",
		Target:      XStructDepth1_Uint32{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint32{}",
		Target:      XStructDepth1_Uint32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint32{F15: 123}",
		Target: XStructDepth1_Uint32{
			F15: 123,
		},
		SourceLabel: "XStructDepth1_Uint32{F15: 123}",
		Source: XStructDepth1_Uint32{
			F15: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint32{F15: 123}",
		Target: XStructDepth1_Uint32{
			F15: 123,
		},
		SourceLabel: "XStructDepth1_All{F15: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F15: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint32{F15: 1861773432}",
		Target: XStructDepth1_Uint32{
			F15: 1861773432,
		},
		SourceLabel: "XStructDepth1_Uint32{F15: 1861773432}",
		Source: XStructDepth1_Uint32{
			F15: 1861773432,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint32{F15: 1861773432}",
		Target: XStructDepth1_Uint32{
			F15: 1861773432,
		},
		SourceLabel: "XStructDepth1_All{F15: 1861773432}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F15: 1861773432,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint32{}",
		Target:      XStructDepth1_XUint32{},
		SourceLabel: "XStructDepth1_XUint32{}",
		Source:      XStructDepth1_XUint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint32{}",
		Target:      XStructDepth1_XUint32{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint32{}",
		Target:      XStructDepth1_XUint32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint32{F16: 123}",
		Target: XStructDepth1_XUint32{
			F16: 123,
		},
		SourceLabel: "XStructDepth1_XUint32{F16: 123}",
		Source: XStructDepth1_XUint32{
			F16: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint32{F16: 123}",
		Target: XStructDepth1_XUint32{
			F16: 123,
		},
		SourceLabel: "XStructDepth1_All{F16: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F16: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint32{F16: 867867091}",
		Target: XStructDepth1_XUint32{
			F16: 867867091,
		},
		SourceLabel: "XStructDepth1_XUint32{F16: 867867091}",
		Source: XStructDepth1_XUint32{
			F16: 867867091,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint32{F16: 867867091}",
		Target: XStructDepth1_XUint32{
			F16: 867867091,
		},
		SourceLabel: "XStructDepth1_All{F16: 867867091}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F16: 867867091,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint64{}",
		Target:      XStructDepth1_Uint64{},
		SourceLabel: "XStructDepth1_Uint64{}",
		Source:      XStructDepth1_Uint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint64{}",
		Target:      XStructDepth1_Uint64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Uint64{}",
		Target:      XStructDepth1_Uint64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint64{F17: 123}",
		Target: XStructDepth1_Uint64{
			F17: 123,
		},
		SourceLabel: "XStructDepth1_Uint64{F17: 123}",
		Source: XStructDepth1_Uint64{
			F17: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Uint64{F17: 123}",
		Target: XStructDepth1_Uint64{
			F17: 123,
		},
		SourceLabel: "XStructDepth1_All{F17: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F17: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint64{F17: 708602618574826930}",
		Target: XStructDepth1_Uint64{
			F17: 708602618574826930,
		},
		SourceLabel: "XStructDepth1_Uint64{F17: 708602618574826930}",
		Source: XStructDepth1_Uint64{
			F17: 708602618574826930,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Uint64{F17: 708602618574826930}",
		Target: XStructDepth1_Uint64{
			F17: 708602618574826930,
		},
		SourceLabel: "XStructDepth1_All{F17: 708602618574826930}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F17: 708602618574826930,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint64{}",
		Target:      XStructDepth1_XUint64{},
		SourceLabel: "XStructDepth1_XUint64{}",
		Source:      XStructDepth1_XUint64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint64{}",
		Target:      XStructDepth1_XUint64{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XUint64{}",
		Target:      XStructDepth1_XUint64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint64{F18: 123}",
		Target: XStructDepth1_XUint64{
			F18: 123,
		},
		SourceLabel: "XStructDepth1_XUint64{F18: 123}",
		Source: XStructDepth1_XUint64{
			F18: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XUint64{F18: 123}",
		Target: XStructDepth1_XUint64{
			F18: 123,
		},
		SourceLabel: "XStructDepth1_All{F18: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F18: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint64{F18: 6707807478685153739}",
		Target: XStructDepth1_XUint64{
			F18: 6707807478685153739,
		},
		SourceLabel: "XStructDepth1_XUint64{F18: 6707807478685153739}",
		Source: XStructDepth1_XUint64{
			F18: 6707807478685153739,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XUint64{F18: 6707807478685153739}",
		Target: XStructDepth1_XUint64{
			F18: 6707807478685153739,
		},
		SourceLabel: "XStructDepth1_All{F18: 6707807478685153739}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F18: 6707807478685153739,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int8{}",
		Target:      XStructDepth1_Int8{},
		SourceLabel: "XStructDepth1_Int8{}",
		Source:      XStructDepth1_Int8{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int8{}",
		Target:      XStructDepth1_Int8{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int8{}",
		Target:      XStructDepth1_Int8{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int8{F19: -123}",
		Target: XStructDepth1_Int8{
			F19: -123,
		},
		SourceLabel: "XStructDepth1_Int8{F19: -123}",
		Source: XStructDepth1_Int8{
			F19: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int8{F19: -123}",
		Target: XStructDepth1_Int8{
			F19: -123,
		},
		SourceLabel: "XStructDepth1_All{F19: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F19: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int8{F19: 25}",
		Target: XStructDepth1_Int8{
			F19: 25,
		},
		SourceLabel: "XStructDepth1_Int8{F19: 25}",
		Source: XStructDepth1_Int8{
			F19: 25,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int8{F19: 25}",
		Target: XStructDepth1_Int8{
			F19: 25,
		},
		SourceLabel: "XStructDepth1_All{F19: 25}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F19: 25,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt8{}",
		Target:      XStructDepth1_XInt8{},
		SourceLabel: "XStructDepth1_XInt8{}",
		Source:      XStructDepth1_XInt8{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt8{}",
		Target:      XStructDepth1_XInt8{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt8{}",
		Target:      XStructDepth1_XInt8{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt8{F20: -123}",
		Target: XStructDepth1_XInt8{
			F20: -123,
		},
		SourceLabel: "XStructDepth1_XInt8{F20: -123}",
		Source: XStructDepth1_XInt8{
			F20: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt8{F20: -123}",
		Target: XStructDepth1_XInt8{
			F20: -123,
		},
		SourceLabel: "XStructDepth1_All{F20: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F20: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt8{F20: 53}",
		Target: XStructDepth1_XInt8{
			F20: 53,
		},
		SourceLabel: "XStructDepth1_XInt8{F20: 53}",
		Source: XStructDepth1_XInt8{
			F20: 53,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt8{F20: 53}",
		Target: XStructDepth1_XInt8{
			F20: 53,
		},
		SourceLabel: "XStructDepth1_All{F20: 53}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F20: 53,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int16{}",
		Target:      XStructDepth1_Int16{},
		SourceLabel: "XStructDepth1_Int16{}",
		Source:      XStructDepth1_Int16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int16{}",
		Target:      XStructDepth1_Int16{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int16{}",
		Target:      XStructDepth1_Int16{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int16{F21: -123}",
		Target: XStructDepth1_Int16{
			F21: -123,
		},
		SourceLabel: "XStructDepth1_Int16{F21: -123}",
		Source: XStructDepth1_Int16{
			F21: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int16{F21: -123}",
		Target: XStructDepth1_Int16{
			F21: -123,
		},
		SourceLabel: "XStructDepth1_All{F21: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F21: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int16{F21: 9243}",
		Target: XStructDepth1_Int16{
			F21: 9243,
		},
		SourceLabel: "XStructDepth1_Int16{F21: 9243}",
		Source: XStructDepth1_Int16{
			F21: 9243,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int16{F21: 9243}",
		Target: XStructDepth1_Int16{
			F21: 9243,
		},
		SourceLabel: "XStructDepth1_All{F21: 9243}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F21: 9243,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt16{}",
		Target:      XStructDepth1_XInt16{},
		SourceLabel: "XStructDepth1_XInt16{}",
		Source:      XStructDepth1_XInt16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt16{}",
		Target:      XStructDepth1_XInt16{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt16{}",
		Target:      XStructDepth1_XInt16{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt16{F22: -123}",
		Target: XStructDepth1_XInt16{
			F22: -123,
		},
		SourceLabel: "XStructDepth1_XInt16{F22: -123}",
		Source: XStructDepth1_XInt16{
			F22: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt16{F22: -123}",
		Target: XStructDepth1_XInt16{
			F22: -123,
		},
		SourceLabel: "XStructDepth1_All{F22: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F22: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt16{F22: 6856}",
		Target: XStructDepth1_XInt16{
			F22: 6856,
		},
		SourceLabel: "XStructDepth1_XInt16{F22: 6856}",
		Source: XStructDepth1_XInt16{
			F22: 6856,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt16{F22: 6856}",
		Target: XStructDepth1_XInt16{
			F22: 6856,
		},
		SourceLabel: "XStructDepth1_All{F22: 6856}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F22: 6856,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int32{}",
		Target:      XStructDepth1_Int32{},
		SourceLabel: "XStructDepth1_Int32{}",
		Source:      XStructDepth1_Int32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int32{}",
		Target:      XStructDepth1_Int32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int32{}",
		Target:      XStructDepth1_Int32{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int32{F23: -123}",
		Target: XStructDepth1_Int32{
			F23: -123,
		},
		SourceLabel: "XStructDepth1_Int32{F23: -123}",
		Source: XStructDepth1_Int32{
			F23: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int32{F23: -123}",
		Target: XStructDepth1_Int32{
			F23: -123,
		},
		SourceLabel: "XStructDepth1_All{F23: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F23: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int32{F23: 953460934}",
		Target: XStructDepth1_Int32{
			F23: 953460934,
		},
		SourceLabel: "XStructDepth1_Int32{F23: 953460934}",
		Source: XStructDepth1_Int32{
			F23: 953460934,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int32{F23: 953460934}",
		Target: XStructDepth1_Int32{
			F23: 953460934,
		},
		SourceLabel: "XStructDepth1_All{F23: 953460934}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F23: 953460934,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt32{}",
		Target:      XStructDepth1_XInt32{},
		SourceLabel: "XStructDepth1_XInt32{}",
		Source:      XStructDepth1_XInt32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt32{}",
		Target:      XStructDepth1_XInt32{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt32{}",
		Target:      XStructDepth1_XInt32{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt32{F24: -123}",
		Target: XStructDepth1_XInt32{
			F24: -123,
		},
		SourceLabel: "XStructDepth1_XInt32{F24: -123}",
		Source: XStructDepth1_XInt32{
			F24: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt32{F24: -123}",
		Target: XStructDepth1_XInt32{
			F24: -123,
		},
		SourceLabel: "XStructDepth1_All{F24: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F24: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt32{F24: 803419100}",
		Target: XStructDepth1_XInt32{
			F24: 803419100,
		},
		SourceLabel: "XStructDepth1_XInt32{F24: 803419100}",
		Source: XStructDepth1_XInt32{
			F24: 803419100,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt32{F24: 803419100}",
		Target: XStructDepth1_XInt32{
			F24: 803419100,
		},
		SourceLabel: "XStructDepth1_All{F24: 803419100}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F24: 803419100,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int64{}",
		Target:      XStructDepth1_Int64{},
		SourceLabel: "XStructDepth1_Int64{}",
		Source:      XStructDepth1_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int64{}",
		Target:      XStructDepth1_Int64{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Int64{}",
		Target:      XStructDepth1_Int64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int64{F25: -123}",
		Target: XStructDepth1_Int64{
			F25: -123,
		},
		SourceLabel: "XStructDepth1_Int64{F25: -123}",
		Source: XStructDepth1_Int64{
			F25: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Int64{F25: -123}",
		Target: XStructDepth1_Int64{
			F25: -123,
		},
		SourceLabel: "XStructDepth1_All{F25: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F25: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int64{F25: -2526134402219146536}",
		Target: XStructDepth1_Int64{
			F25: -2526134402219146536,
		},
		SourceLabel: "XStructDepth1_Int64{F25: -2526134402219146536}",
		Source: XStructDepth1_Int64{
			F25: -2526134402219146536,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Int64{F25: -2526134402219146536}",
		Target: XStructDepth1_Int64{
			F25: -2526134402219146536,
		},
		SourceLabel: "XStructDepth1_All{F25: -2526134402219146536}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F25: -2526134402219146536,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt64{}",
		Target:      XStructDepth1_XInt64{},
		SourceLabel: "XStructDepth1_XInt64{}",
		Source:      XStructDepth1_XInt64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt64{}",
		Target:      XStructDepth1_XInt64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XInt64{}",
		Target:      XStructDepth1_XInt64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt64{F26: -123}",
		Target: XStructDepth1_XInt64{
			F26: -123,
		},
		SourceLabel: "XStructDepth1_XInt64{F26: -123}",
		Source: XStructDepth1_XInt64{
			F26: -123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XInt64{F26: -123}",
		Target: XStructDepth1_XInt64{
			F26: -123,
		},
		SourceLabel: "XStructDepth1_All{F26: -123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F26: -123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt64{F26: -3928364049329722813}",
		Target: XStructDepth1_XInt64{
			F26: -3928364049329722813,
		},
		SourceLabel: "XStructDepth1_XInt64{F26: -3928364049329722813}",
		Source: XStructDepth1_XInt64{
			F26: -3928364049329722813,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XInt64{F26: -3928364049329722813}",
		Target: XStructDepth1_XInt64{
			F26: -3928364049329722813,
		},
		SourceLabel: "XStructDepth1_All{F26: -3928364049329722813}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F26: -3928364049329722813,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float32{}",
		Target:      XStructDepth1_Float32{},
		SourceLabel: "XStructDepth1_Float32{}",
		Source:      XStructDepth1_Float32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float32{}",
		Target:      XStructDepth1_Float32{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float32{}",
		Target:      XStructDepth1_Float32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Float32{F27: 1.5}",
		Target: XStructDepth1_Float32{
			F27: 1.5,
		},
		SourceLabel: "XStructDepth1_Float32{F27: 1.5}",
		Source: XStructDepth1_Float32{
			F27: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Float32{F27: 1.5}",
		Target: XStructDepth1_Float32{
			F27: 1.5,
		},
		SourceLabel: "XStructDepth1_All{F27: 1.5}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F27: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Float32{F27: 5.0441037e+08}",
		Target: XStructDepth1_Float32{
			F27: 5.0441037e+08,
		},
		SourceLabel: "XStructDepth1_Float32{F27: 5.0441037e+08}",
		Source: XStructDepth1_Float32{
			F27: 5.0441037e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Float32{F27: 5.0441037e+08}",
		Target: XStructDepth1_Float32{
			F27: 5.0441037e+08,
		},
		SourceLabel: "XStructDepth1_All{F27: 5.0441037e+08}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F27: 5.0441037e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat32{}",
		Target:      XStructDepth1_XFloat32{},
		SourceLabel: "XStructDepth1_XFloat32{}",
		Source:      XStructDepth1_XFloat32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat32{}",
		Target:      XStructDepth1_XFloat32{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat32{}",
		Target:      XStructDepth1_XFloat32{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XFloat32{F28: 1.5}",
		Target: XStructDepth1_XFloat32{
			F28: 1.5,
		},
		SourceLabel: "XStructDepth1_XFloat32{F28: 1.5}",
		Source: XStructDepth1_XFloat32{
			F28: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XFloat32{F28: 1.5}",
		Target: XStructDepth1_XFloat32{
			F28: 1.5,
		},
		SourceLabel: "XStructDepth1_All{F28: 1.5}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F28: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XFloat32{F28: -1.7849115e+09}",
		Target: XStructDepth1_XFloat32{
			F28: -1.7849115e+09,
		},
		SourceLabel: "XStructDepth1_XFloat32{F28: -1.7849115e+09}",
		Source: XStructDepth1_XFloat32{
			F28: -1.7849115e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XFloat32{F28: -1.7849115e+09}",
		Target: XStructDepth1_XFloat32{
			F28: -1.7849115e+09,
		},
		SourceLabel: "XStructDepth1_All{F28: -1.7849115e+09}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F28: -1.7849115e+09,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float64{}",
		Target:      XStructDepth1_Float64{},
		SourceLabel: "XStructDepth1_Float64{}",
		Source:      XStructDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float64{}",
		Target:      XStructDepth1_Float64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Float64{}",
		Target:      XStructDepth1_Float64{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_Float64{F29: 1.5}",
		Target: XStructDepth1_Float64{
			F29: 1.5,
		},
		SourceLabel: "XStructDepth1_Float64{F29: 1.5}",
		Source: XStructDepth1_Float64{
			F29: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_Float64{F29: 1.5}",
		Target: XStructDepth1_Float64{
			F29: 1.5,
		},
		SourceLabel: "XStructDepth1_All{F29: 1.5}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F29: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Float64{F29: -1.2293507091490128e+09}",
		Target: XStructDepth1_Float64{
			F29: -1.2293507091490128e+09,
		},
		SourceLabel: "XStructDepth1_Float64{F29: -1.2293507091490128e+09}",
		Source: XStructDepth1_Float64{
			F29: -1.2293507091490128e+09,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_Float64{F29: -1.2293507091490128e+09}",
		Target: XStructDepth1_Float64{
			F29: -1.2293507091490128e+09,
		},
		SourceLabel: "XStructDepth1_All{F29: -1.2293507091490128e+09}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F29: -1.2293507091490128e+09,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat64{}",
		Target:      XStructDepth1_XFloat64{},
		SourceLabel: "XStructDepth1_XFloat64{}",
		Source:      XStructDepth1_XFloat64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat64{}",
		Target:      XStructDepth1_XFloat64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_XFloat64{}",
		Target:      XStructDepth1_XFloat64{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_XFloat64{F30: 1.5}",
		Target: XStructDepth1_XFloat64{
			F30: 1.5,
		},
		SourceLabel: "XStructDepth1_XFloat64{F30: 1.5}",
		Source: XStructDepth1_XFloat64{
			F30: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_XFloat64{F30: 1.5}",
		Target: XStructDepth1_XFloat64{
			F30: 1.5,
		},
		SourceLabel: "XStructDepth1_All{F30: 1.5}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F30: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XFloat64{F30: 1.420195419586073e+08}",
		Target: XStructDepth1_XFloat64{
			F30: 1.420195419586073e+08,
		},
		SourceLabel: "XStructDepth1_XFloat64{F30: 1.420195419586073e+08}",
		Source: XStructDepth1_XFloat64{
			F30: 1.420195419586073e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_XFloat64{F30: 1.420195419586073e+08}",
		Target: XStructDepth1_XFloat64{
			F30: 1.420195419586073e+08,
		},
		SourceLabel: "XStructDepth1_All{F30: 1.420195419586073e+08}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F30: 1.420195419586073e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXStructEmpty{}",
		Target:      XStructDepth1_OptXStructEmpty{},
		SourceLabel: "XStructDepth1_OptXStructEmpty{}",
		Source:      XStructDepth1_OptXStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXStructEmpty{}",
		Target:      XStructDepth1_OptXStructEmpty{},
		SourceLabel: "XStructDepth1_All{}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXStructEmpty{}",
		Target:      XStructDepth1_OptXStructEmpty{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_OptXStructEmpty{F31: {}}",
		Target: XStructDepth1_OptXStructEmpty{
			F31: &XStructEmpty{},
		},
		SourceLabel: "XStructDepth1_OptXStructEmpty{F31: {}}",
		Source: XStructDepth1_OptXStructEmpty{
			F31: &XStructEmpty{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_OptXStructEmpty{F31: {}}",
		Target: XStructDepth1_OptXStructEmpty{
			F31: &XStructEmpty{},
		},
		SourceLabel: "XStructDepth1_All{F31: {}}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F31: &XStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXNamedError{}",
		Target:      XStructDepth1_OptXNamedError{},
		SourceLabel: "XStructDepth1_OptXNamedError{}",
		Source:      XStructDepth1_OptXNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXNamedError{}",
		Target:      XStructDepth1_OptXNamedError{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_OptXNamedError{}",
		Target:      XStructDepth1_OptXNamedError{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XStructDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"澤世\", Msg: \"Φ\"}}",
		Target: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "澤世",
				Msg: "Φ",
			},
		},
		SourceLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"澤世\", Msg: \"Φ\"}}",
		Source: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "澤世",
				Msg: "Φ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_OptXNamedError{F32: {Id: \"澤世\", Msg: \"Φ\"}}",
		Target: XStructDepth1_OptXNamedError{
			F32: &XNamedError{
				Id:  "澤世",
				Msg: "Φ",
			},
		},
		SourceLabel: "XStructDepth1_All{F32: {Id: \"澤世\", Msg: \"Φ\"}}",
		Source: XStructDepth1_All{
			F5: vdl.AnyType,
			F32: &XNamedError{
				Id:  "澤世",
				Msg: "Φ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_All{F0: nil}",
		Target:      XUnionDepth1_All(XUnionDepth1_AllF0{}),
		SourceLabel: "XUnionDepth1_All{F0: nil}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_All{F0: nil}",
		Target:      XUnionDepth1_All(XUnionDepth1_AllF0{}),
		SourceLabel: "XUnionDepth1_Any{F0: nil}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_All{F14: 510}",
		Target:      XUnionDepth1_All(XUnionDepth1_AllF14{510}),
		SourceLabel: "XUnionDepth1_All{F14: 510}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF14{510}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_All{F14: 510}",
		Target:      XUnionDepth1_All(XUnionDepth1_AllF14{510}),
		SourceLabel: "XUnionDepth1_XUint16{F14: 510}",
		Source:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{510}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Any{F0: nil}",
		Target:      XUnionDepth1_Any(XUnionDepth1_AnyF0{}),
		SourceLabel: "XUnionDepth1_Any{F0: nil}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Any{F0: nil}",
		Target:      XUnionDepth1_Any(XUnionDepth1_AnyF0{}),
		SourceLabel: "XUnionDepth1_All{F0: nil}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Any{F0: int64(-123)}",
		Target:      XUnionDepth1_Any(XUnionDepth1_AnyF0{int64(-123)}),
		SourceLabel: "XUnionDepth1_Any{F0: int64(-123)}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{int64(-123)}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Any{F0: int64(-123)}",
		Target:      XUnionDepth1_Any(XUnionDepth1_AnyF0{int64(-123)}),
		SourceLabel: "XUnionDepth1_All{F0: int64(-123)}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF0{int64(-123)}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Any{F0: XStructDepth1_Uint32{F15: 4288875436}}",
		Target: XUnionDepth1_Any(XUnionDepth1_AnyF0{XStructDepth1_Uint32{
			F15: 4288875436,
		}}),
		SourceLabel: "XUnionDepth1_Any{F0: XStructDepth1_Uint32{F15: 4288875436}}",
		Source: XUnionDepth1_Any(XUnionDepth1_AnyF0{XStructDepth1_Uint32{
			F15: 4288875436,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Any{F0: XStructDepth1_Uint32{F15: 4288875436}}",
		Target: XUnionDepth1_Any(XUnionDepth1_AnyF0{XStructDepth1_Uint32{
			F15: 4288875436,
		}}),
		SourceLabel: "XUnionDepth1_All{F0: XStructDepth1_Uint32{F15: 4288875436}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF0{XStructDepth1_Uint32{
			F15: 4288875436,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Bool{F1: false}",
		Target:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{}),
		SourceLabel: "XUnionDepth1_Bool{F1: false}",
		Source:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Bool{F1: false}",
		Target:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{}),
		SourceLabel: "XUnionDepth1_All{F1: false}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Bool{F1: true}",
		Target:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{true}),
		SourceLabel: "XUnionDepth1_Bool{F1: true}",
		Source:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{true}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Bool{F1: true}",
		Target:      XUnionDepth1_Bool(XUnionDepth1_BoolF1{true}),
		SourceLabel: "XUnionDepth1_All{F1: true}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF1{true}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XBool{F2: false}",
		Target:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{}),
		SourceLabel: "XUnionDepth1_XBool{F2: false}",
		Source:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XBool{F2: false}",
		Target:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{}),
		SourceLabel: "XUnionDepth1_All{F2: false}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XBool{F2: true}",
		Target:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{true}),
		SourceLabel: "XUnionDepth1_XBool{F2: true}",
		Source:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{true}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XBool{F2: true}",
		Target:      XUnionDepth1_XBool(XUnionDepth1_XBoolF2{true}),
		SourceLabel: "XUnionDepth1_All{F2: true}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF2{true}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_String{F3: \"\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{}),
		SourceLabel: "XUnionDepth1_String{F3: \"\"}",
		Source:      XUnionDepth1_String(XUnionDepth1_StringF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_String{F3: \"\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{}),
		SourceLabel: "XUnionDepth1_All{F3: \"\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "XUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      XUnionDepth1_String(XUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_String{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "XUnionDepth1_All{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF3{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_String{F3: \"eΔ\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{"eΔ"}),
		SourceLabel: "XUnionDepth1_String{F3: \"eΔ\"}",
		Source:      XUnionDepth1_String(XUnionDepth1_StringF3{"eΔ"}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_String{F3: \"eΔ\"}",
		Target:      XUnionDepth1_String(XUnionDepth1_StringF3{"eΔ"}),
		SourceLabel: "XUnionDepth1_All{F3: \"eΔ\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF3{"eΔ"}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XString{F4: \"\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{}),
		SourceLabel: "XUnionDepth1_XString{F4: \"\"}",
		Source:      XUnionDepth1_XString(XUnionDepth1_XStringF4{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XString{F4: \"\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{}),
		SourceLabel: "XUnionDepth1_All{F4: \"\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF4{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普澤世界"}),
		SourceLabel: "XUnionDepth1_All{F4: \"abcdeΔΘΠΣΦ王普澤世界\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF4{"abcdeΔΘΠΣΦ王普澤世界"}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普"}),
		SourceLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普\"}",
		Source:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普"}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XString{F4: \"abcdeΔΘΠΣΦ王普\"}",
		Target:      XUnionDepth1_XString(XUnionDepth1_XStringF4{"abcdeΔΘΠΣΦ王普"}),
		SourceLabel: "XUnionDepth1_All{F4: \"abcdeΔΘΠΣΦ王普\"}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF4{"abcdeΔΘΠΣΦ王普"}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(any)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.AnyType}),
		SourceLabel: "XUnionDepth1_TypeObject{F5: typeobject(any)}",
		Source:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.AnyType}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(any)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.AnyType}),
		SourceLabel: "XUnionDepth1_All{F5: typeobject(any)}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF5{vdl.AnyType}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.Int64Type}),
		SourceLabel: "XUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Source:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.Int64Type}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(int64)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.Int64Type}),
		SourceLabel: "XUnionDepth1_All{F5: typeobject(int64)}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF5{vdl.Int64Type}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(XUnionDepth1_Bool)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{__VDLType_union_297}),
		SourceLabel: "XUnionDepth1_TypeObject{F5: typeobject(XUnionDepth1_Bool)}",
		Source:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{__VDLType_union_297}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(XUnionDepth1_Bool)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{__VDLType_union_297}),
		SourceLabel: "XUnionDepth1_All{F5: typeobject(XUnionDepth1_Bool)}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF5{__VDLType_union_297}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Byte{F6: 0}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{}),
		SourceLabel: "XUnionDepth1_Byte{F6: 0}",
		Source:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Byte{F6: 0}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{}),
		SourceLabel: "XUnionDepth1_All{F6: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Byte{F6: 123}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{123}),
		SourceLabel: "XUnionDepth1_Byte{F6: 123}",
		Source:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Byte{F6: 123}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{123}),
		SourceLabel: "XUnionDepth1_All{F6: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF6{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Byte{F6: 220}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{220}),
		SourceLabel: "XUnionDepth1_Byte{F6: 220}",
		Source:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{220}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Byte{F6: 220}",
		Target:      XUnionDepth1_Byte(XUnionDepth1_ByteF6{220}),
		SourceLabel: "XUnionDepth1_All{F6: 220}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF6{220}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XByte{F7: 0}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{}),
		SourceLabel: "XUnionDepth1_XByte{F7: 0}",
		Source:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XByte{F7: 0}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{}),
		SourceLabel: "XUnionDepth1_All{F7: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF7{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XByte{F7: 123}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{123}),
		SourceLabel: "XUnionDepth1_XByte{F7: 123}",
		Source:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XByte{F7: 123}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{123}),
		SourceLabel: "XUnionDepth1_All{F7: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF7{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XByte{F7: 187}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{187}),
		SourceLabel: "XUnionDepth1_XByte{F7: 187}",
		Source:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{187}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XByte{F7: 187}",
		Target:      XUnionDepth1_XByte(XUnionDepth1_XByteF7{187}),
		SourceLabel: "XUnionDepth1_All{F7: 187}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF7{187}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XEnumAbc{F8: A}",
		Target:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{}),
		SourceLabel: "XUnionDepth1_XEnumAbc{F8: A}",
		Source:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XEnumAbc{F8: A}",
		Target:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{}),
		SourceLabel: "XUnionDepth1_All{F8: A}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF8{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XEnumAbc{F8: C}",
		Target:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{XEnumAbcC}),
		SourceLabel: "XUnionDepth1_XEnumAbc{F8: C}",
		Source:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{XEnumAbcC}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XEnumAbc{F8: C}",
		Target:      XUnionDepth1_XEnumAbc(XUnionDepth1_XEnumAbcF8{XEnumAbcC}),
		SourceLabel: "XUnionDepth1_All{F8: C}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF8{XEnumAbcC}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XEnumBcd{F9: B}",
		Target:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{}),
		SourceLabel: "XUnionDepth1_XEnumBcd{F9: B}",
		Source:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XEnumBcd{F9: B}",
		Target:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{}),
		SourceLabel: "XUnionDepth1_All{F9: B}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF9{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XEnumBcd{F9: D}",
		Target:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{XEnumBcdD}),
		SourceLabel: "XUnionDepth1_XEnumBcd{F9: D}",
		Source:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{XEnumBcdD}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XEnumBcd{F9: D}",
		Target:      XUnionDepth1_XEnumBcd(XUnionDepth1_XEnumBcdF9{XEnumBcdD}),
		SourceLabel: "XUnionDepth1_All{F9: D}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF9{XEnumBcdD}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XStructEmpty{F10: {}}",
		Target:      XUnionDepth1_XStructEmpty(XUnionDepth1_XStructEmptyF10{}),
		SourceLabel: "XUnionDepth1_XStructEmpty{F10: {}}",
		Source:      XUnionDepth1_XStructEmpty(XUnionDepth1_XStructEmptyF10{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XStructEmpty{F10: {}}",
		Target:      XUnionDepth1_XStructEmpty(XUnionDepth1_XStructEmptyF10{}),
		SourceLabel: "XUnionDepth1_All{F10: {}}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF10{}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {}}",
		Target:      XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{}),
		SourceLabel: "XUnionDepth1_XNamedError{F11: {}}",
		Source:      XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {}}",
		Target:      XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{}),
		SourceLabel: "XUnionDepth1_All{F11: {}}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF11{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_All{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF11{XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {Msg: \"ΘΠΣΦ\"}}",
		Target: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Msg: "ΘΠΣΦ",
		}}),
		SourceLabel: "XUnionDepth1_XNamedError{F11: {Msg: \"ΘΠΣΦ\"}}",
		Source: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Msg: "ΘΠΣΦ",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XNamedError{F11: {Msg: \"ΘΠΣΦ\"}}",
		Target: XUnionDepth1_XNamedError(XUnionDepth1_XNamedErrorF11{XNamedError{
			Msg: "ΘΠΣΦ",
		}}),
		SourceLabel: "XUnionDepth1_All{F11: {Msg: \"ΘΠΣΦ\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF11{XNamedError{
			Msg: "ΘΠΣΦ",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Error{F12: nil}",
		Target:      XUnionDepth1_Error(XUnionDepth1_ErrorF12{}),
		SourceLabel: "XUnionDepth1_Error{F12: nil}",
		Source:      XUnionDepth1_Error(XUnionDepth1_ErrorF12{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Error{F12: nil}",
		Target:      XUnionDepth1_Error(XUnionDepth1_ErrorF12{}),
		SourceLabel: "XUnionDepth1_All{F12: nil}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF12{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
		SourceLabel: "XUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Error{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
		SourceLabel: "XUnionDepth1_All{F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
			Id:        "abcdeΔΘΠΣΦ王普澤世界",
			RetryCode: vdl.WireRetryCodeRetryBackoff,
			Msg:       "abcdeΔΘΠΣΦ王普澤世界",
		})}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Error{F12: {Id: \"deΔΘΠΣΦ王\", Msg: \"eΔΘ\"}}",
		Target: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "eΔΘ",
		})}),
		SourceLabel: "XUnionDepth1_Error{F12: {Id: \"deΔΘΠΣΦ王\", Msg: \"eΔΘ\"}}",
		Source: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "eΔΘ",
		})}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Error{F12: {Id: \"deΔΘΠΣΦ王\", Msg: \"eΔΘ\"}}",
		Target: XUnionDepth1_Error(XUnionDepth1_ErrorF12{verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "eΔΘ",
		})}),
		SourceLabel: "XUnionDepth1_All{F12: {Id: \"deΔΘΠΣΦ王\", Msg: \"eΔΘ\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF12{verror.FromWire(&vdl.WireError{
			Id:  "deΔΘΠΣΦ王",
			Msg: "eΔΘ",
		})}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint16{F13: 0}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{}),
		SourceLabel: "XUnionDepth1_Uint16{F13: 0}",
		Source:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint16{F13: 0}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{}),
		SourceLabel: "XUnionDepth1_All{F13: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF13{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint16{F13: 123}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{123}),
		SourceLabel: "XUnionDepth1_Uint16{F13: 123}",
		Source:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint16{F13: 123}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{123}),
		SourceLabel: "XUnionDepth1_All{F13: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF13{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint16{F13: 8576}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{8576}),
		SourceLabel: "XUnionDepth1_Uint16{F13: 8576}",
		Source:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{8576}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint16{F13: 8576}",
		Target:      XUnionDepth1_Uint16(XUnionDepth1_Uint16F13{8576}),
		SourceLabel: "XUnionDepth1_All{F13: 8576}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF13{8576}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint16{F14: 0}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{}),
		SourceLabel: "XUnionDepth1_XUint16{F14: 0}",
		Source:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint16{F14: 0}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{}),
		SourceLabel: "XUnionDepth1_All{F14: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF14{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint16{F14: 123}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{123}),
		SourceLabel: "XUnionDepth1_XUint16{F14: 123}",
		Source:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint16{F14: 123}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{123}),
		SourceLabel: "XUnionDepth1_All{F14: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF14{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint16{F14: 3322}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{3322}),
		SourceLabel: "XUnionDepth1_XUint16{F14: 3322}",
		Source:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{3322}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint16{F14: 3322}",
		Target:      XUnionDepth1_XUint16(XUnionDepth1_XUint16F14{3322}),
		SourceLabel: "XUnionDepth1_All{F14: 3322}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF14{3322}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint32{F15: 0}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{}),
		SourceLabel: "XUnionDepth1_Uint32{F15: 0}",
		Source:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint32{F15: 0}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{}),
		SourceLabel: "XUnionDepth1_All{F15: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF15{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint32{F15: 123}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{123}),
		SourceLabel: "XUnionDepth1_Uint32{F15: 123}",
		Source:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint32{F15: 123}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{123}),
		SourceLabel: "XUnionDepth1_All{F15: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF15{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint32{F15: 4044022484}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{4044022484}),
		SourceLabel: "XUnionDepth1_Uint32{F15: 4044022484}",
		Source:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{4044022484}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint32{F15: 4044022484}",
		Target:      XUnionDepth1_Uint32(XUnionDepth1_Uint32F15{4044022484}),
		SourceLabel: "XUnionDepth1_All{F15: 4044022484}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF15{4044022484}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint32{F16: 0}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{}),
		SourceLabel: "XUnionDepth1_XUint32{F16: 0}",
		Source:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint32{F16: 0}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{}),
		SourceLabel: "XUnionDepth1_All{F16: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF16{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint32{F16: 123}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{123}),
		SourceLabel: "XUnionDepth1_XUint32{F16: 123}",
		Source:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint32{F16: 123}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{123}),
		SourceLabel: "XUnionDepth1_All{F16: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF16{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint32{F16: 2032043449}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{2032043449}),
		SourceLabel: "XUnionDepth1_XUint32{F16: 2032043449}",
		Source:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{2032043449}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint32{F16: 2032043449}",
		Target:      XUnionDepth1_XUint32(XUnionDepth1_XUint32F16{2032043449}),
		SourceLabel: "XUnionDepth1_All{F16: 2032043449}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF16{2032043449}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint64{F17: 0}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{}),
		SourceLabel: "XUnionDepth1_Uint64{F17: 0}",
		Source:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Uint64{F17: 0}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{}),
		SourceLabel: "XUnionDepth1_All{F17: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF17{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint64{F17: 123}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{123}),
		SourceLabel: "XUnionDepth1_Uint64{F17: 123}",
		Source:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Uint64{F17: 123}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{123}),
		SourceLabel: "XUnionDepth1_All{F17: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF17{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint64{F17: 15489787000916437827}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{15489787000916437827}),
		SourceLabel: "XUnionDepth1_Uint64{F17: 15489787000916437827}",
		Source:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{15489787000916437827}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Uint64{F17: 15489787000916437827}",
		Target:      XUnionDepth1_Uint64(XUnionDepth1_Uint64F17{15489787000916437827}),
		SourceLabel: "XUnionDepth1_All{F17: 15489787000916437827}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF17{15489787000916437827}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint64{F18: 0}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{}),
		SourceLabel: "XUnionDepth1_XUint64{F18: 0}",
		Source:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XUint64{F18: 0}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{}),
		SourceLabel: "XUnionDepth1_All{F18: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF18{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint64{F18: 123}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{123}),
		SourceLabel: "XUnionDepth1_XUint64{F18: 123}",
		Source:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XUint64{F18: 123}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{123}),
		SourceLabel: "XUnionDepth1_All{F18: 123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF18{123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint64{F18: 365446184533752905}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{365446184533752905}),
		SourceLabel: "XUnionDepth1_XUint64{F18: 365446184533752905}",
		Source:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{365446184533752905}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XUint64{F18: 365446184533752905}",
		Target:      XUnionDepth1_XUint64(XUnionDepth1_XUint64F18{365446184533752905}),
		SourceLabel: "XUnionDepth1_All{F18: 365446184533752905}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF18{365446184533752905}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int8{F19: 0}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{}),
		SourceLabel: "XUnionDepth1_Int8{F19: 0}",
		Source:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int8{F19: 0}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{}),
		SourceLabel: "XUnionDepth1_All{F19: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF19{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int8{F19: -123}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-123}),
		SourceLabel: "XUnionDepth1_Int8{F19: -123}",
		Source:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int8{F19: -123}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-123}),
		SourceLabel: "XUnionDepth1_All{F19: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF19{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int8{F19: -48}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-48}),
		SourceLabel: "XUnionDepth1_Int8{F19: -48}",
		Source:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-48}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int8{F19: -48}",
		Target:      XUnionDepth1_Int8(XUnionDepth1_Int8F19{-48}),
		SourceLabel: "XUnionDepth1_All{F19: -48}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF19{-48}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt8{F20: 0}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{}),
		SourceLabel: "XUnionDepth1_XInt8{F20: 0}",
		Source:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt8{F20: 0}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{}),
		SourceLabel: "XUnionDepth1_All{F20: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF20{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt8{F20: -123}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{-123}),
		SourceLabel: "XUnionDepth1_XInt8{F20: -123}",
		Source:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt8{F20: -123}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{-123}),
		SourceLabel: "XUnionDepth1_All{F20: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF20{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt8{F20: 34}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{34}),
		SourceLabel: "XUnionDepth1_XInt8{F20: 34}",
		Source:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{34}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt8{F20: 34}",
		Target:      XUnionDepth1_XInt8(XUnionDepth1_XInt8F20{34}),
		SourceLabel: "XUnionDepth1_All{F20: 34}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF20{34}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int16{F21: 0}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{}),
		SourceLabel: "XUnionDepth1_Int16{F21: 0}",
		Source:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int16{F21: 0}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{}),
		SourceLabel: "XUnionDepth1_All{F21: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF21{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int16{F21: -123}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{-123}),
		SourceLabel: "XUnionDepth1_Int16{F21: -123}",
		Source:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int16{F21: -123}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{-123}),
		SourceLabel: "XUnionDepth1_All{F21: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF21{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int16{F21: 1423}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{1423}),
		SourceLabel: "XUnionDepth1_Int16{F21: 1423}",
		Source:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{1423}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int16{F21: 1423}",
		Target:      XUnionDepth1_Int16(XUnionDepth1_Int16F21{1423}),
		SourceLabel: "XUnionDepth1_All{F21: 1423}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF21{1423}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt16{F22: 0}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{}),
		SourceLabel: "XUnionDepth1_XInt16{F22: 0}",
		Source:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt16{F22: 0}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{}),
		SourceLabel: "XUnionDepth1_All{F22: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF22{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt16{F22: -123}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{-123}),
		SourceLabel: "XUnionDepth1_XInt16{F22: -123}",
		Source:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt16{F22: -123}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{-123}),
		SourceLabel: "XUnionDepth1_All{F22: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF22{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt16{F22: 5537}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{5537}),
		SourceLabel: "XUnionDepth1_XInt16{F22: 5537}",
		Source:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{5537}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt16{F22: 5537}",
		Target:      XUnionDepth1_XInt16(XUnionDepth1_XInt16F22{5537}),
		SourceLabel: "XUnionDepth1_All{F22: 5537}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF22{5537}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int32{F23: 0}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{}),
		SourceLabel: "XUnionDepth1_Int32{F23: 0}",
		Source:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int32{F23: 0}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{}),
		SourceLabel: "XUnionDepth1_All{F23: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF23{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int32{F23: -123}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{-123}),
		SourceLabel: "XUnionDepth1_Int32{F23: -123}",
		Source:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int32{F23: -123}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{-123}),
		SourceLabel: "XUnionDepth1_All{F23: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF23{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int32{F23: 619713044}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{619713044}),
		SourceLabel: "XUnionDepth1_Int32{F23: 619713044}",
		Source:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{619713044}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int32{F23: 619713044}",
		Target:      XUnionDepth1_Int32(XUnionDepth1_Int32F23{619713044}),
		SourceLabel: "XUnionDepth1_All{F23: 619713044}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF23{619713044}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt32{F24: 0}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{}),
		SourceLabel: "XUnionDepth1_XInt32{F24: 0}",
		Source:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt32{F24: 0}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{}),
		SourceLabel: "XUnionDepth1_All{F24: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF24{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt32{F24: -123}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{-123}),
		SourceLabel: "XUnionDepth1_XInt32{F24: -123}",
		Source:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt32{F24: -123}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{-123}),
		SourceLabel: "XUnionDepth1_All{F24: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF24{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt32{F24: 935002762}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{935002762}),
		SourceLabel: "XUnionDepth1_XInt32{F24: 935002762}",
		Source:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{935002762}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt32{F24: 935002762}",
		Target:      XUnionDepth1_XInt32(XUnionDepth1_XInt32F24{935002762}),
		SourceLabel: "XUnionDepth1_All{F24: 935002762}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF24{935002762}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int64{F25: 0}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{}),
		SourceLabel: "XUnionDepth1_Int64{F25: 0}",
		Source:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Int64{F25: 0}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{}),
		SourceLabel: "XUnionDepth1_All{F25: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF25{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int64{F25: -123}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-123}),
		SourceLabel: "XUnionDepth1_Int64{F25: -123}",
		Source:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Int64{F25: -123}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-123}),
		SourceLabel: "XUnionDepth1_All{F25: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF25{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int64{F25: -4236093799481940262}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-4236093799481940262}),
		SourceLabel: "XUnionDepth1_Int64{F25: -4236093799481940262}",
		Source:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-4236093799481940262}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Int64{F25: -4236093799481940262}",
		Target:      XUnionDepth1_Int64(XUnionDepth1_Int64F25{-4236093799481940262}),
		SourceLabel: "XUnionDepth1_All{F25: -4236093799481940262}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF25{-4236093799481940262}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt64{F26: 0}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{}),
		SourceLabel: "XUnionDepth1_XInt64{F26: 0}",
		Source:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XInt64{F26: 0}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{}),
		SourceLabel: "XUnionDepth1_All{F26: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF26{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt64{F26: -123}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-123}),
		SourceLabel: "XUnionDepth1_XInt64{F26: -123}",
		Source:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-123}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XInt64{F26: -123}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-123}),
		SourceLabel: "XUnionDepth1_All{F26: -123}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF26{-123}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt64{F26: -3261228450527297986}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-3261228450527297986}),
		SourceLabel: "XUnionDepth1_XInt64{F26: -3261228450527297986}",
		Source:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-3261228450527297986}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XInt64{F26: -3261228450527297986}",
		Target:      XUnionDepth1_XInt64(XUnionDepth1_XInt64F26{-3261228450527297986}),
		SourceLabel: "XUnionDepth1_All{F26: -3261228450527297986}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF26{-3261228450527297986}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Float32{F27: 0}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{}),
		SourceLabel: "XUnionDepth1_Float32{F27: 0}",
		Source:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Float32{F27: 0}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{}),
		SourceLabel: "XUnionDepth1_All{F27: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF27{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Float32{F27: 1.5}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{1.5}),
		SourceLabel: "XUnionDepth1_Float32{F27: 1.5}",
		Source:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Float32{F27: 1.5}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{1.5}),
		SourceLabel: "XUnionDepth1_All{F27: 1.5}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF27{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Float32{F27: -3.361987e+09}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{-3.361987e+09}),
		SourceLabel: "XUnionDepth1_Float32{F27: -3.361987e+09}",
		Source:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{-3.361987e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Float32{F27: -3.361987e+09}",
		Target:      XUnionDepth1_Float32(XUnionDepth1_Float32F27{-3.361987e+09}),
		SourceLabel: "XUnionDepth1_All{F27: -3.361987e+09}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF27{-3.361987e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XFloat32{F28: 0}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{}),
		SourceLabel: "XUnionDepth1_XFloat32{F28: 0}",
		Source:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XFloat32{F28: 0}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{}),
		SourceLabel: "XUnionDepth1_All{F28: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF28{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XFloat32{F28: 1.5}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{1.5}),
		SourceLabel: "XUnionDepth1_XFloat32{F28: 1.5}",
		Source:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XFloat32{F28: 1.5}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{1.5}),
		SourceLabel: "XUnionDepth1_All{F28: 1.5}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF28{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XFloat32{F28: -6.4752954e+08}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{-6.4752954e+08}),
		SourceLabel: "XUnionDepth1_XFloat32{F28: -6.4752954e+08}",
		Source:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{-6.4752954e+08}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XFloat32{F28: -6.4752954e+08}",
		Target:      XUnionDepth1_XFloat32(XUnionDepth1_XFloat32F28{-6.4752954e+08}),
		SourceLabel: "XUnionDepth1_All{F28: -6.4752954e+08}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF28{-6.4752954e+08}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Float64{F29: 0}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{}),
		SourceLabel: "XUnionDepth1_Float64{F29: 0}",
		Source:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_Float64{F29: 0}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{}),
		SourceLabel: "XUnionDepth1_All{F29: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF29{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Float64{F29: 1.5}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.5}),
		SourceLabel: "XUnionDepth1_Float64{F29: 1.5}",
		Source:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_Float64{F29: 1.5}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.5}),
		SourceLabel: "XUnionDepth1_All{F29: 1.5}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF29{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Float64{F29: 1.1618464643248394e+09}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.1618464643248394e+09}),
		SourceLabel: "XUnionDepth1_Float64{F29: 1.1618464643248394e+09}",
		Source:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.1618464643248394e+09}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_Float64{F29: 1.1618464643248394e+09}",
		Target:      XUnionDepth1_Float64(XUnionDepth1_Float64F29{1.1618464643248394e+09}),
		SourceLabel: "XUnionDepth1_All{F29: 1.1618464643248394e+09}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF29{1.1618464643248394e+09}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XFloat64{F30: 0}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{}),
		SourceLabel: "XUnionDepth1_XFloat64{F30: 0}",
		Source:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_XFloat64{F30: 0}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{}),
		SourceLabel: "XUnionDepth1_All{F30: 0}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF30{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XFloat64{F30: 1.5}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.5}),
		SourceLabel: "XUnionDepth1_XFloat64{F30: 1.5}",
		Source:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.5}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_XFloat64{F30: 1.5}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{1.5}),
		SourceLabel: "XUnionDepth1_All{F30: 1.5}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF30{1.5}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XFloat64{F30: -1.4789866739446236e+07}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{-1.4789866739446236e+07}),
		SourceLabel: "XUnionDepth1_XFloat64{F30: -1.4789866739446236e+07}",
		Source:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{-1.4789866739446236e+07}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_XFloat64{F30: -1.4789866739446236e+07}",
		Target:      XUnionDepth1_XFloat64(XUnionDepth1_XFloat64F30{-1.4789866739446236e+07}),
		SourceLabel: "XUnionDepth1_All{F30: -1.4789866739446236e+07}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF30{-1.4789866739446236e+07}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_OptXStructEmpty{F31: nil}",
		Target:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{}),
		SourceLabel: "XUnionDepth1_OptXStructEmpty{F31: nil}",
		Source:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_OptXStructEmpty{F31: nil}",
		Target:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{}),
		SourceLabel: "XUnionDepth1_All{F31: nil}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF31{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_OptXStructEmpty{F31: {}}",
		Target:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{&XStructEmpty{}}),
		SourceLabel: "XUnionDepth1_OptXStructEmpty{F31: {}}",
		Source:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{&XStructEmpty{}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_OptXStructEmpty{F31: {}}",
		Target:      XUnionDepth1_OptXStructEmpty(XUnionDepth1_OptXStructEmptyF31{&XStructEmpty{}}),
		SourceLabel: "XUnionDepth1_All{F31: {}}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF31{&XStructEmpty{}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: nil}",
		Target:      XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{}),
		SourceLabel: "XUnionDepth1_OptXNamedError{F32: nil}",
		Source:      XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: nil}",
		Target:      XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{}),
		SourceLabel: "XUnionDepth1_All{F32: nil}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF32{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"b\", Msg: \"b\"}}",
		Target: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "b",
			Msg: "b",
		}}),
		SourceLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"b\", Msg: \"b\"}}",
		Source: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "b",
			Msg: "b",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_OptXNamedError{F32: {Id: \"b\", Msg: \"b\"}}",
		Target: XUnionDepth1_OptXNamedError(XUnionDepth1_OptXNamedErrorF32{&XNamedError{
			Id:  "b",
			Msg: "b",
		}}),
		SourceLabel: "XUnionDepth1_All{F32: {Id: \"b\", Msg: \"b\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
			Id:  "b",
			Msg: "b",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XEnumBcd(nil)",
		Target:      (*XStructDepth1_XEnumBcd)(nil),
		SourceLabel: "?XStructDepth1_XEnumBcd(nil)",
		Source:      (*XStructDepth1_XEnumBcd)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XEnumBcd(nil)",
		Target:      (*XStructDepth1_XEnumBcd)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructDepth1_XEnumBcd(nil)",
		Target:      (*XStructDepth1_XEnumBcd)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XEnumBcd{F9: D}",
		Target: &XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
		SourceLabel: "?XStructDepth1_XEnumBcd{F9: D}",
		Source: &XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XEnumBcd{F9: D}",
		Target: &XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
		SourceLabel: "XStructDepth1_XEnumBcd{F9: D}",
		Source: XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XUint16(nil)",
		Target:      (*XStructDepth1_XUint16)(nil),
		SourceLabel: "?XStructDepth1_XUint16(nil)",
		Source:      (*XStructDepth1_XUint16)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XUint16(nil)",
		Target:      (*XStructDepth1_XUint16)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructDepth1_XUint16(nil)",
		Target:      (*XStructDepth1_XUint16)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XUint16{F14: 123}",
		Target: &XStructDepth1_XUint16{
			F14: 123,
		},
		SourceLabel: "?XStructDepth1_XUint16{F14: 123}",
		Source: &XStructDepth1_XUint16{
			F14: 123,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XUint16{F14: 123}",
		Target: &XStructDepth1_XUint16{
			F14: 123,
		},
		SourceLabel: "XStructDepth1_All{F14: 123}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F14: 123,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?XStructDepth1_XUint16{F14: 57522}",
		Target: &XStructDepth1_XUint16{
			F14: 57522,
		},
		SourceLabel: "?XStructDepth1_XUint16{F14: 57522}",
		Source: &XStructDepth1_XUint16{
			F14: 57522,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?XStructDepth1_XUint16{F14: 57522}",
		Target: &XStructDepth1_XUint16{
			F14: 57522,
		},
		SourceLabel: "XStructDepth1_XUint16{F14: 57522}",
		Source: XStructDepth1_XUint16{
			F14: 57522,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XFloat32(nil)",
		Target:      (*XStructDepth1_XFloat32)(nil),
		SourceLabel: "?XStructDepth1_XFloat32(nil)",
		Source:      (*XStructDepth1_XFloat32)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructDepth1_XFloat32(nil)",
		Target:      (*XStructDepth1_XFloat32)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructDepth1_XFloat32(nil)",
		Target:      (*XStructDepth1_XFloat32)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XFloat32{F28: 1.5}",
		Target: &XStructDepth1_XFloat32{
			F28: 1.5,
		},
		SourceLabel: "?XStructDepth1_XFloat32{F28: 1.5}",
		Source: &XStructDepth1_XFloat32{
			F28: 1.5,
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructDepth1_XFloat32{F28: 1.5}",
		Target: &XStructDepth1_XFloat32{
			F28: 1.5,
		},
		SourceLabel: "XStructDepth1_All{F28: 1.5}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F28: 1.5,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?XStructDepth1_XFloat32{F28: -7.4435264e+08}",
		Target: &XStructDepth1_XFloat32{
			F28: -7.4435264e+08,
		},
		SourceLabel: "?XStructDepth1_XFloat32{F28: -7.4435264e+08}",
		Source: &XStructDepth1_XFloat32{
			F28: -7.4435264e+08,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?XStructDepth1_XFloat32{F28: -7.4435264e+08}",
		Target: &XStructDepth1_XFloat32{
			F28: -7.4435264e+08,
		},
		SourceLabel: "XStructDepth1_All{F28: -7.4435264e+08}",
		Source: XStructDepth1_All{
			F5:  vdl.AnyType,
			F28: -7.4435264e+08,
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_XArray3_Int64{}",
		Target:      XArray1_XArray3_Int64{},
		SourceLabel: "XArray1_XArray3_Int64{}",
		Source:      XArray1_XArray3_Int64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XArray3_Int64{}",
		Target:      XArray1_XArray3_Int64{},
		SourceLabel: "XList_Any{XArray3_Int64{}}",
		Source: XList_Any{
			XArray3_Int64{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XArray3_Int64{}",
		Target:      XArray1_XArray3_Int64{},
		SourceLabel: "XArray1_XList_Byte{\"\\x00\\x00\\x00\"}",
		Source: XArray1_XList_Byte{
			XList_Byte("\x00\x00\x00"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_XArray3_Int64{{-123, -123, -123}}",
		Target: XArray1_XArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "XArray1_XArray3_Int64{{-123, -123, -123}}",
		Source: XArray1_XArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_XArray3_Int64{{-123, -123, -123}}",
		Target: XArray1_XArray3_Int64{
			{
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "XList_Any{XArray3_Int64{-123, -123, -123}}",
		Source: XList_Any{
			XArray3_Int64{
				-123,
				-123,
				-123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_XArray3_Int64{{-3686869165814900559, 1784163261950056694, 59033720765951778}}",
		Target: XArray1_XArray3_Int64{
			{
				-3686869165814900559,
				1784163261950056694,
				59033720765951778,
			},
		},
		SourceLabel: "XArray1_XArray3_Int64{{-3686869165814900559, 1784163261950056694, 59033720765951778}}",
		Source: XArray1_XArray3_Int64{
			{
				-3686869165814900559,
				1784163261950056694,
				59033720765951778,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_XArray3_Int64{{-3686869165814900559, 1784163261950056694, 59033720765951778}}",
		Target: XArray1_XArray3_Int64{
			{
				-3686869165814900559,
				1784163261950056694,
				59033720765951778,
			},
		},
		SourceLabel: "XList_Any{XArray3_Int64{-3686869165814900559, 1784163261950056694, 59033720765951778}}",
		Source: XList_Any{
			XArray3_Int64{
				-3686869165814900559,
				1784163261950056694,
				59033720765951778,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_XList_Byte{}",
		Target:      XArray1_XList_Byte{},
		SourceLabel: "XArray1_XList_Byte{}",
		Source:      XArray1_XList_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XList_Byte{}",
		Target:      XArray1_XList_Byte{},
		SourceLabel: "XList_Any{XList_Byte(\"\")}",
		Source: XList_Any{
			XList_Byte(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XList_Byte{}",
		Target:      XArray1_XList_Byte{},
		SourceLabel: "[]any{XList_Byte(\"\")}",
		Source: []interface{}{
			XList_Byte(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_XList_Byte{\"{\"}",
		Target: XArray1_XList_Byte{
			XList_Byte("{"),
		},
		SourceLabel: "XArray1_XList_Byte{\"{\"}",
		Source: XArray1_XList_Byte{
			XList_Byte("{"),
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_XList_Byte{\"{\"}",
		Target: XArray1_XList_Byte{
			XList_Byte("{"),
		},
		SourceLabel: "[]any{XList_Byte(\"{\")}",
		Source: []interface{}{
			XList_Byte("{"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_XList_Byte{\"\\x00\"}",
		Target: XArray1_XList_Byte{
			XList_Byte("\x00"),
		},
		SourceLabel: "XArray1_XList_Byte{\"\\x00\"}",
		Source: XArray1_XList_Byte{
			XList_Byte("\x00"),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_XList_Byte{\"\\x00\"}",
		Target: XArray1_XList_Byte{
			XList_Byte("\x00"),
		},
		SourceLabel: "[]any{XList_Byte(\"\\x00\")}",
		Source: []interface{}{
			XList_Byte("\x00"),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_Set_XEnumBcd{}",
		Target:      XArray1_Set_XEnumBcd{},
		SourceLabel: "XArray1_Set_XEnumBcd{}",
		Source:      XArray1_Set_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Set_XEnumBcd{}",
		Target:      XArray1_Set_XEnumBcd{},
		SourceLabel: "[]set[XEnumAbc]{{}}",
		Source: []map[XEnumAbc]struct{}{
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_Set_XEnumBcd{}",
		Target:      XArray1_Set_XEnumBcd{},
		SourceLabel: "XList_Any{set[XEnumBcd]{}}",
		Source: XList_Any{
			map[XEnumBcd]struct{}(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_Set_XEnumBcd{{D}}",
		Target: XArray1_Set_XEnumBcd{
			{
				XEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "XArray1_Set_XEnumBcd{{D}}",
		Source: XArray1_Set_XEnumBcd{
			{
				XEnumBcdD: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_Set_XEnumBcd{{D}}",
		Target: XArray1_Set_XEnumBcd{
			{
				XEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "XList_Any{set[XEnumBcd]{D}}",
		Source: XList_Any{
			map[XEnumBcd]struct{}{
				XEnumBcdD: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_Map_Byte_Byte{}",
		Target:      XArray2_Map_Byte_Byte{},
		SourceLabel: "XArray2_Map_Byte_Byte{}",
		Source:      XArray2_Map_Byte_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Map_Byte_Byte{}",
		Target:      XArray2_Map_Byte_Byte{},
		SourceLabel: "[]XMap_XByte_XByte{{}, {}}",
		Source: []XMap_XByte_XByte{
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Map_Byte_Byte{}",
		Target:      XArray2_Map_Byte_Byte{},
		SourceLabel: "XList_XMap_Byte_Byte{{}, {}}",
		Source: XList_XMap_Byte_Byte{
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Target: XArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
		SourceLabel: "XArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Source: XArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_Map_Byte_Byte{{123: 123}, {123: 123}}",
		Target: XArray2_Map_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
		SourceLabel: "XList_XMap_Byte_Byte{{123: 123}, {123: 123}}",
		Source: XList_XMap_Byte_Byte{
			{
				123: 123,
			},
			{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_Map_Byte_Byte{{226: 49}, {207: 253}}",
		Target: XArray2_Map_Byte_Byte{
			{
				226: 49,
			},
			{
				207: 253,
			},
		},
		SourceLabel: "XArray2_Map_Byte_Byte{{226: 49}, {207: 253}}",
		Source: XArray2_Map_Byte_Byte{
			{
				226: 49,
			},
			{
				207: 253,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_Map_Byte_Byte{{226: 49}, {207: 253}}",
		Target: XArray2_Map_Byte_Byte{
			{
				226: 49,
			},
			{
				207: 253,
			},
		},
		SourceLabel: "[]XMap_XByte_XByte{{226: 49}, {207: 253}}",
		Source: []XMap_XByte_XByte{
			{
				226: 49,
			},
			{
				207: 253,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth1_All{}",
		Target: XArray2_XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XArray2_XStructDepth1_All{}",
		Source: XArray2_XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth1_All{}",
		Target: XArray2_XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XList_XStructEmpty{{}, {}}",
		Source: XList_XStructEmpty{
			{},
			{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth1_All{}",
		Target: XArray2_XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XList_XStructDepth1_All{{}, {}}",
		Source: XList_XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
			{
				F5: vdl.AnyType,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XArray2_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "XArray2_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XArray2_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XArray2_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "XList_Any{XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XList_Any{
			XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_XStructDepth1_All{{F0: XUnionDepth1_Int8{F19: -62}, F1: true, F3: \"世\", F4: \"deΔ\", F5: typeobject(XUint16), F6: 143, F7: 188, F8: C, F11: {Id: \"王\", Msg: \"de\"}, F13: 23073, F15: 3211786920, F16: 4055101316, F18: 2330407595319300152, F19: 59, F20: 32, F22: 8034, F23: -351103322, F25: -4503741137733196850, F26: 924768865288423865, F27: -7.7118104e+07, F29: -1.1185637133852577e+09, F31: {}, F32: {Id: \"ΠΣ\", Msg: \"abc\"}}, {F0: XStructDepth1_XNamedError{F11: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"c\"}}, F1: true, F3: \"bcdeΔΘΠΣΦ王普澤世界\", F4: \"ΠΣΦ王\", F5: typeobject(XList_XMap_Byte_Byte), F6: 86, F8: B, F9: D, F12: {Id: \"d\", RetryCode: RetryConnection, Msg: \"Φ王\"}, F13: 65505, F14: 21372, F15: 1512699580, F16: 2069621953, F17: 18415744568491267796, F18: 3693349276499043179, F19: -53, F22: -14420, F25: 1205935434964997754, F27: 1.1920091e+09, F28: -1.9556054e+09, F30: 1.254703076891001e+09, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Target: XArray2_XStructDepth1_All{
			{
				F0: XUnionDepth1_Int8(XUnionDepth1_Int8F19{-62}),
				F1: true,
				F3: "世",
				F4: "deΔ",
				F5: __VDLType_uint16_298,
				F6: 143,
				F7: 188,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "王",
					Msg: "de",
				},
				F13: 23073,
				F15: 3211786920,
				F16: 4055101316,
				F18: 2330407595319300152,
				F19: 59,
				F20: 32,
				F22: 8034,
				F23: -351103322,
				F25: -4503741137733196850,
				F26: 924768865288423865,
				F27: -7.7118104e+07,
				F29: -1.1185637133852577e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "ΠΣ",
					Msg: "abc",
				},
			},
			{
				F0: XStructDepth1_XNamedError{
					F11: XNamedError{
						Id:  "bcdeΔΘΠΣΦ王普澤",
						Msg: "c",
					},
				},
				F1: true,
				F3: "bcdeΔΘΠΣΦ王普澤世界",
				F4: "ΠΣΦ王",
				F5: __VDLType_list_299,
				F6: 86,
				F8: XEnumAbcB,
				F9: XEnumBcdD,
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryConnection,
					Msg:       "Φ王",
				}),
				F13: 65505,
				F14: 21372,
				F15: 1512699580,
				F16: 2069621953,
				F17: 18415744568491267796,
				F18: 3693349276499043179,
				F19: -53,
				F22: -14420,
				F25: 1205935434964997754,
				F27: 1.1920091e+09,
				F28: -1.9556054e+09,
				F30: 1.254703076891001e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "eΔΘΠΣΦ王",
					Msg: "deΔΘΠΣΦ王普澤世",
				},
			},
		},
		SourceLabel: "XArray2_XStructDepth1_All{{F0: XUnionDepth1_Int8{F19: -62}, F1: true, F3: \"世\", F4: \"deΔ\", F5: typeobject(XUint16), F6: 143, F7: 188, F8: C, F11: {Id: \"王\", Msg: \"de\"}, F13: 23073, F15: 3211786920, F16: 4055101316, F18: 2330407595319300152, F19: 59, F20: 32, F22: 8034, F23: -351103322, F25: -4503741137733196850, F26: 924768865288423865, F27: -7.7118104e+07, F29: -1.1185637133852577e+09, F31: {}, F32: {Id: \"ΠΣ\", Msg: \"abc\"}}, {F0: XStructDepth1_XNamedError{F11: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"c\"}}, F1: true, F3: \"bcdeΔΘΠΣΦ王普澤世界\", F4: \"ΠΣΦ王\", F5: typeobject(XList_XMap_Byte_Byte), F6: 86, F8: B, F9: D, F12: {Id: \"d\", RetryCode: RetryConnection, Msg: \"Φ王\"}, F13: 65505, F14: 21372, F15: 1512699580, F16: 2069621953, F17: 18415744568491267796, F18: 3693349276499043179, F19: -53, F22: -14420, F25: 1205935434964997754, F27: 1.1920091e+09, F28: -1.9556054e+09, F30: 1.254703076891001e+09, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Source: XArray2_XStructDepth1_All{
			{
				F0: XUnionDepth1_Int8(XUnionDepth1_Int8F19{-62}),
				F1: true,
				F3: "世",
				F4: "deΔ",
				F5: __VDLType_uint16_298,
				F6: 143,
				F7: 188,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "王",
					Msg: "de",
				},
				F13: 23073,
				F15: 3211786920,
				F16: 4055101316,
				F18: 2330407595319300152,
				F19: 59,
				F20: 32,
				F22: 8034,
				F23: -351103322,
				F25: -4503741137733196850,
				F26: 924768865288423865,
				F27: -7.7118104e+07,
				F29: -1.1185637133852577e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "ΠΣ",
					Msg: "abc",
				},
			},
			{
				F0: XStructDepth1_XNamedError{
					F11: XNamedError{
						Id:  "bcdeΔΘΠΣΦ王普澤",
						Msg: "c",
					},
				},
				F1: true,
				F3: "bcdeΔΘΠΣΦ王普澤世界",
				F4: "ΠΣΦ王",
				F5: __VDLType_list_299,
				F6: 86,
				F8: XEnumAbcB,
				F9: XEnumBcdD,
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryConnection,
					Msg:       "Φ王",
				}),
				F13: 65505,
				F14: 21372,
				F15: 1512699580,
				F16: 2069621953,
				F17: 18415744568491267796,
				F18: 3693349276499043179,
				F19: -53,
				F22: -14420,
				F25: 1205935434964997754,
				F27: 1.1920091e+09,
				F28: -1.9556054e+09,
				F30: 1.254703076891001e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "eΔΘΠΣΦ王",
					Msg: "deΔΘΠΣΦ王普澤世",
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_XStructDepth1_All{{F0: XUnionDepth1_Int8{F19: -62}, F1: true, F3: \"世\", F4: \"deΔ\", F5: typeobject(XUint16), F6: 143, F7: 188, F8: C, F11: {Id: \"王\", Msg: \"de\"}, F13: 23073, F15: 3211786920, F16: 4055101316, F18: 2330407595319300152, F19: 59, F20: 32, F22: 8034, F23: -351103322, F25: -4503741137733196850, F26: 924768865288423865, F27: -7.7118104e+07, F29: -1.1185637133852577e+09, F31: {}, F32: {Id: \"ΠΣ\", Msg: \"abc\"}}, {F0: XStructDepth1_XNamedError{F11: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"c\"}}, F1: true, F3: \"bcdeΔΘΠΣΦ王普澤世界\", F4: \"ΠΣΦ王\", F5: typeobject(XList_XMap_Byte_Byte), F6: 86, F8: B, F9: D, F12: {Id: \"d\", RetryCode: RetryConnection, Msg: \"Φ王\"}, F13: 65505, F14: 21372, F15: 1512699580, F16: 2069621953, F17: 18415744568491267796, F18: 3693349276499043179, F19: -53, F22: -14420, F25: 1205935434964997754, F27: 1.1920091e+09, F28: -1.9556054e+09, F30: 1.254703076891001e+09, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Target: XArray2_XStructDepth1_All{
			{
				F0: XUnionDepth1_Int8(XUnionDepth1_Int8F19{-62}),
				F1: true,
				F3: "世",
				F4: "deΔ",
				F5: __VDLType_uint16_298,
				F6: 143,
				F7: 188,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "王",
					Msg: "de",
				},
				F13: 23073,
				F15: 3211786920,
				F16: 4055101316,
				F18: 2330407595319300152,
				F19: 59,
				F20: 32,
				F22: 8034,
				F23: -351103322,
				F25: -4503741137733196850,
				F26: 924768865288423865,
				F27: -7.7118104e+07,
				F29: -1.1185637133852577e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "ΠΣ",
					Msg: "abc",
				},
			},
			{
				F0: XStructDepth1_XNamedError{
					F11: XNamedError{
						Id:  "bcdeΔΘΠΣΦ王普澤",
						Msg: "c",
					},
				},
				F1: true,
				F3: "bcdeΔΘΠΣΦ王普澤世界",
				F4: "ΠΣΦ王",
				F5: __VDLType_list_299,
				F6: 86,
				F8: XEnumAbcB,
				F9: XEnumBcdD,
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryConnection,
					Msg:       "Φ王",
				}),
				F13: 65505,
				F14: 21372,
				F15: 1512699580,
				F16: 2069621953,
				F17: 18415744568491267796,
				F18: 3693349276499043179,
				F19: -53,
				F22: -14420,
				F25: 1205935434964997754,
				F27: 1.1920091e+09,
				F28: -1.9556054e+09,
				F30: 1.254703076891001e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "eΔΘΠΣΦ王",
					Msg: "deΔΘΠΣΦ王普澤世",
				},
			},
		},
		SourceLabel: "[]any{XStructDepth1_All{F0: XUnionDepth1_Int8{F19: -62}, F1: true, F3: \"世\", F4: \"deΔ\", F5: typeobject(XUint16), F6: 143, F7: 188, F8: C, F11: {Id: \"王\", Msg: \"de\"}, F13: 23073, F15: 3211786920, F16: 4055101316, F18: 2330407595319300152, F19: 59, F20: 32, F22: 8034, F23: -351103322, F25: -4503741137733196850, F26: 924768865288423865, F27: -7.7118104e+07, F29: -1.1185637133852577e+09, F31: {}, F32: {Id: \"ΠΣ\", Msg: \"abc\"}}, XStructDepth1_All{F0: XStructDepth1_XNamedError{F11: {Id: \"bcdeΔΘΠΣΦ王普澤\", Msg: \"c\"}}, F1: true, F3: \"bcdeΔΘΠΣΦ王普澤世界\", F4: \"ΠΣΦ王\", F5: typeobject(XList_XMap_Byte_Byte), F6: 86, F8: B, F9: D, F12: {Id: \"d\", RetryCode: RetryConnection, Msg: \"Φ王\"}, F13: 65505, F14: 21372, F15: 1512699580, F16: 2069621953, F17: 18415744568491267796, F18: 3693349276499043179, F19: -53, F22: -14420, F25: 1205935434964997754, F27: 1.1920091e+09, F28: -1.9556054e+09, F30: 1.254703076891001e+09, F31: {}, F32: {Id: \"eΔΘΠΣΦ王\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Source: []interface{}{
			XStructDepth1_All{
				F0: XUnionDepth1_Int8(XUnionDepth1_Int8F19{-62}),
				F1: true,
				F3: "世",
				F4: "deΔ",
				F5: __VDLType_uint16_298,
				F6: 143,
				F7: 188,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "王",
					Msg: "de",
				},
				F13: 23073,
				F15: 3211786920,
				F16: 4055101316,
				F18: 2330407595319300152,
				F19: 59,
				F20: 32,
				F22: 8034,
				F23: -351103322,
				F25: -4503741137733196850,
				F26: 924768865288423865,
				F27: -7.7118104e+07,
				F29: -1.1185637133852577e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "ΠΣ",
					Msg: "abc",
				},
			},
			XStructDepth1_All{
				F0: XStructDepth1_XNamedError{
					F11: XNamedError{
						Id:  "bcdeΔΘΠΣΦ王普澤",
						Msg: "c",
					},
				},
				F1: true,
				F3: "bcdeΔΘΠΣΦ王普澤世界",
				F4: "ΠΣΦ王",
				F5: __VDLType_list_299,
				F6: 86,
				F8: XEnumAbcB,
				F9: XEnumBcdD,
				F12: verror.FromWire(&vdl.WireError{
					Id:        "d",
					RetryCode: vdl.WireRetryCodeRetryConnection,
					Msg:       "Φ王",
				}),
				F13: 65505,
				F14: 21372,
				F15: 1512699580,
				F16: 2069621953,
				F17: 18415744568491267796,
				F18: 3693349276499043179,
				F19: -53,
				F22: -14420,
				F25: 1205935434964997754,
				F27: 1.1920091e+09,
				F28: -1.9556054e+09,
				F30: 1.254703076891001e+09,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "eΔΘΠΣΦ王",
					Msg: "deΔΘΠΣΦ王普澤世",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_XUnionDepth1_All{}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
		SourceLabel: "XArray3_XUnionDepth1_All{}",
		Source: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XUnionDepth1_All{}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
		SourceLabel: "XList_XUnionDepth1_All{{F0: nil}, {F0: nil}, {F0: nil}}",
		Source: XList_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_XUnionDepth1_All{}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
		SourceLabel: "XArray3_Any{XUnionDepth1_All{F0: nil}, XUnionDepth1_All{F0: nil}, XUnionDepth1_All{F0: nil}}",
		Source: XArray3_Any{
			XUnionDepth1_All(XUnionDepth1_AllF0{}),
			XUnionDepth1_All(XUnionDepth1_AllF0{}),
			XUnionDepth1_All(XUnionDepth1_AllF0{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "XArray3_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "XList_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XList_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_XUnionDepth1_All{{F5: typeobject(any)}, {F22: 4626}, {F30: -1.0107631359304602e+09}}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF5{vdl.AnyType},
			XUnionDepth1_AllF22{4626},
			XUnionDepth1_AllF30{-1.0107631359304602e+09},
		},
		SourceLabel: "XArray3_XUnionDepth1_All{{F5: typeobject(any)}, {F22: 4626}, {F30: -1.0107631359304602e+09}}",
		Source: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF5{vdl.AnyType},
			XUnionDepth1_AllF22{4626},
			XUnionDepth1_AllF30{-1.0107631359304602e+09},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_XUnionDepth1_All{{F5: typeobject(any)}, {F22: 4626}, {F30: -1.0107631359304602e+09}}",
		Target: XArray3_XUnionDepth1_All{
			XUnionDepth1_AllF5{vdl.AnyType},
			XUnionDepth1_AllF22{4626},
			XUnionDepth1_AllF30{-1.0107631359304602e+09},
		},
		SourceLabel: "[]XUnionDepth1_All{{F5: typeobject(any)}, {F22: 4626}, {F30: -1.0107631359304602e+09}}",
		Source: []XUnionDepth1_All{
			XUnionDepth1_AllF5{vdl.AnyType},
			XUnionDepth1_AllF22{4626},
			XUnionDepth1_AllF30{-1.0107631359304602e+09},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{}",
		Target:      XArray3_OptXStructDepth1_XFloat32{},
		SourceLabel: "XArray3_OptXStructDepth1_XFloat32{}",
		Source:      XArray3_OptXStructDepth1_XFloat32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{}",
		Target:      XArray3_OptXStructDepth1_XFloat32{},
		SourceLabel: "[]any{nil, nil, nil}",
		Source: []interface{}{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{}",
		Target:      XArray3_OptXStructDepth1_XFloat32{},
		SourceLabel: "[]?XStructEmpty{nil, nil, nil}",
		Source: []*XStructEmpty{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Target: XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
		SourceLabel: "XArray3_OptXStructDepth1_XFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Source: XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Target: XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		},
		SourceLabel: "XList_XStructDepth1_All{{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}",
		Source: XList_XStructDepth1_All{
			{
				F5:  vdl.AnyType,
				F28: 1.5,
			},
			{
				F5:  vdl.AnyType,
				F28: 1.5,
			},
			{
				F5:  vdl.AnyType,
				F28: 1.5,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{{}, {F28: 5.931889e+07}, {F28: 1.8135204e+09}}",
		Target: XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: 5.931889e+07,
			},
			{
				F28: 1.8135204e+09,
			},
		},
		SourceLabel: "XArray3_OptXStructDepth1_XFloat32{{}, {F28: 5.931889e+07}, {F28: 1.8135204e+09}}",
		Source: XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: 5.931889e+07,
			},
			{
				F28: 1.8135204e+09,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_OptXStructDepth1_XFloat32{{}, {F28: 5.931889e+07}, {F28: 1.8135204e+09}}",
		Target: XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: 5.931889e+07,
			},
			{
				F28: 1.8135204e+09,
			},
		},
		SourceLabel: "XArray3_Any{?XStructDepth1_XFloat32{}, ?XStructDepth1_XFloat32{F28: 5.931889e+07}, ?XStructDepth1_XFloat32{F28: 1.8135204e+09}}",
		Source: XArray3_Any{
			&XStructDepth1_XFloat32{},
			&XStructDepth1_XFloat32{
				F28: 5.931889e+07,
			},
			&XStructDepth1_XFloat32{
				F28: 1.8135204e+09,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XArray1_String{}",
		Target:      []XArray1_String(nil),
		SourceLabel: "[]XArray1_String{}",
		Source:      []XArray1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XArray1_String{}",
		Target:      []XArray1_String(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XArray1_String{}",
		Target:      []XArray1_String(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []XArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]XArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []XArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XArray1_String{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: []XArray1_String{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_Any{XArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_Any{
			XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XArray1_String{{\"c\"}, {\"ΠΣΦ王普澤\"}, {\"王普澤\"}}",
		Target: []XArray1_String{
			{
				"c",
			},
			{
				"ΠΣΦ王普澤",
			},
			{
				"王普澤",
			},
		},
		SourceLabel: "[]XArray1_String{{\"c\"}, {\"ΠΣΦ王普澤\"}, {\"王普澤\"}}",
		Source: []XArray1_String{
			{
				"c",
			},
			{
				"ΠΣΦ王普澤",
			},
			{
				"王普澤",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XArray1_String{{\"c\"}, {\"ΠΣΦ王普澤\"}, {\"王普澤\"}}",
		Target: []XArray1_String{
			{
				"c",
			},
			{
				"ΠΣΦ王普澤",
			},
			{
				"王普澤",
			},
		},
		SourceLabel: "XList_Any{XArray1_String{\"c\"}, XArray1_String{\"ΠΣΦ王普澤\"}, XArray1_String{\"王普澤\"}}",
		Source: XList_Any{
			XArray1_String{
				"c",
			},
			XArray1_String{
				"ΠΣΦ王普澤",
			},
			XArray1_String{
				"王普澤",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XList_Error{}",
		Target:      []XList_Error(nil),
		SourceLabel: "[]XList_Error{}",
		Source:      []XList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XList_Error{}",
		Target:      []XList_Error(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XList_Error{}",
		Target:      []XList_Error(nil),
		SourceLabel: "XList_XArray1_XStructEmpty{}",
		Source:      XList_XArray1_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
		SourceLabel: "[]XList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
		SourceLabel: "XList_Any{XList_Error{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XList_Any{
			XList_Error{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XList_Error{{nil, {Id: \"ΘΠ\", Msg: \"世\"}, nil}, {nil, {}, {Id: \"ΔΘΠΣΦ王普澤世\", RetryCode: RetryBackoff}}, {}}",
		Target: []XList_Error{
			{
				nil,
				verror.FromWire(&vdl.WireError{
					Id:  "ΘΠ",
					Msg: "世",
				}),
				nil,
			},
			{
				nil,
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "ΔΘΠΣΦ王普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
			nil,
		},
		SourceLabel: "[]XList_Error{{nil, {Id: \"ΘΠ\", Msg: \"世\"}, nil}, {nil, {}, {Id: \"ΔΘΠΣΦ王普澤世\", RetryCode: RetryBackoff}}, {}}",
		Source: []XList_Error{
			{
				nil,
				verror.FromWire(&vdl.WireError{
					Id:  "ΘΠ",
					Msg: "世",
				}),
				nil,
			},
			{
				nil,
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "ΔΘΠΣΦ王普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XList_Error{{nil, {Id: \"ΘΠ\", Msg: \"世\"}, nil}, {nil, {}, {Id: \"ΔΘΠΣΦ王普澤世\", RetryCode: RetryBackoff}}, {}}",
		Target: []XList_Error{
			{
				nil,
				verror.FromWire(&vdl.WireError{
					Id:  "ΘΠ",
					Msg: "世",
				}),
				nil,
			},
			{
				nil,
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "ΔΘΠΣΦ王普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
			nil,
		},
		SourceLabel: "XArray3_Any{XList_Error{nil, {Id: \"ΘΠ\", Msg: \"世\"}, nil}, XList_Error{nil, {}, {Id: \"ΔΘΠΣΦ王普澤世\", RetryCode: RetryBackoff}}, XList_Error{}}",
		Source: XArray3_Any{
			XList_Error{
				nil,
				verror.FromWire(&vdl.WireError{
					Id:  "ΘΠ",
					Msg: "世",
				}),
				nil,
			},
			XList_Error{
				nil,
				verror.FromWire(&vdl.WireError{}),
				verror.FromWire(&vdl.WireError{
					Id:        "ΔΘΠΣΦ王普澤世",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
			},
			XList_Error(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]set[XEnumAbc]{}",
		Target:      []map[XEnumAbc]struct{}(nil),
		SourceLabel: "[]set[XEnumAbc]{}",
		Source:      []map[XEnumAbc]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]set[XEnumAbc]{}",
		Target:      []map[XEnumAbc]struct{}(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]set[XEnumAbc]{}",
		Target:      []map[XEnumAbc]struct{}(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]set[XEnumAbc]{{C}}",
		Target: []map[XEnumAbc]struct{}{
			{
				XEnumAbcC: struct{}{},
			},
		},
		SourceLabel: "[]set[XEnumAbc]{{C}}",
		Source: []map[XEnumAbc]struct{}{
			{
				XEnumAbcC: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]set[XEnumAbc]{{C}}",
		Target: []map[XEnumAbc]struct{}{
			{
				XEnumAbcC: struct{}{},
			},
		},
		SourceLabel: "XList_Any{set[XEnumAbc]{C}}",
		Source: XList_Any{
			map[XEnumAbc]struct{}{
				XEnumAbcC: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XMap_XByte_XByte{}",
		Target:      []XMap_XByte_XByte(nil),
		SourceLabel: "[]XMap_XByte_XByte{}",
		Source:      []XMap_XByte_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XMap_XByte_XByte{}",
		Target:      []XMap_XByte_XByte(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XMap_XByte_XByte{}",
		Target:      []XMap_XByte_XByte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XMap_XByte_XByte{{123: 123}}",
		Target: []XMap_XByte_XByte{
			{
				123: 123,
			},
		},
		SourceLabel: "[]XMap_XByte_XByte{{123: 123}}",
		Source: []XMap_XByte_XByte{
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XMap_XByte_XByte{{123: 123}}",
		Target: []XMap_XByte_XByte{
			{
				123: 123,
			},
		},
		SourceLabel: "[]any{XMap_XByte_XByte{123: 123}}",
		Source: []interface{}{
			XMap_XByte_XByte{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XMap_XByte_XByte{{}}",
		Target: []XMap_XByte_XByte{
			nil,
		},
		SourceLabel: "[]XMap_XByte_XByte{{}}",
		Source: []XMap_XByte_XByte{
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XMap_XByte_XByte{{}}",
		Target: []XMap_XByte_XByte{
			nil,
		},
		SourceLabel: "[]any{XMap_XByte_XByte{}}",
		Source: []interface{}{
			XMap_XByte_XByte(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XStructDepth1_All{}",
		Target:      []XStructDepth1_All(nil),
		SourceLabel: "[]XStructDepth1_All{}",
		Source:      []XStructDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructDepth1_All{}",
		Target:      []XStructDepth1_All(nil),
		SourceLabel: "[]?XStructDepth1_XEnumBcd{}",
		Source:      []*XStructDepth1_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructDepth1_All{}",
		Target:      []XStructDepth1_All(nil),
		SourceLabel: "[]XStructEmpty{}",
		Source:      []XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "[]XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "[]any{XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []interface{}{
			XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XStructDepth1_All{{}}",
		Target: []XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "[]XStructDepth1_All{{}}",
		Source: []XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XStructDepth1_All{{}}",
		Target: []XStructDepth1_All{
			{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XList_XStructEmpty{{}}",
		Source: XList_XStructEmpty{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth1_All{}",
		Target:      []XUnionDepth1_All(nil),
		SourceLabel: "[]XUnionDepth1_All{}",
		Source:      []XUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth1_All{}",
		Target:      []XUnionDepth1_All(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth1_All{}",
		Target:      []XUnionDepth1_All(nil),
		SourceLabel: "XList_XUnionDepth1_All{}",
		Source:      XList_XUnionDepth1_All(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: []XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]any{XUnionDepth1_All{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []interface{}{
			XUnionDepth1_All(XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XUnionDepth1_All{{F0: nil}, {F0: nil}}",
		Target: []XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
		SourceLabel: "[]XUnionDepth1_All{{F0: nil}, {F0: nil}}",
		Source: []XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XUnionDepth1_All{{F0: nil}, {F0: nil}}",
		Target: []XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF0{},
		},
		SourceLabel: "XList_Any{XUnionDepth1_All{F0: nil}, XUnionDepth1_All{F0: nil}}",
		Source: XList_Any{
			XUnionDepth1_All(XUnionDepth1_AllF0{}),
			XUnionDepth1_All(XUnionDepth1_AllF0{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth1_XEnumBcd{}",
		Target:      []*XStructDepth1_XEnumBcd(nil),
		SourceLabel: "[]?XStructDepth1_XEnumBcd{}",
		Source:      []*XStructDepth1_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth1_XEnumBcd{}",
		Target:      []*XStructDepth1_XEnumBcd(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth1_XEnumBcd{}",
		Target:      []*XStructDepth1_XEnumBcd(nil),
		SourceLabel: "XList_XStructEmpty{}",
		Source:      XList_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?XStructDepth1_XEnumBcd{{F9: D}}",
		Target: []*XStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "[]?XStructDepth1_XEnumBcd{{F9: D}}",
		Source: []*XStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?XStructDepth1_XEnumBcd{{F9: D}}",
		Target: []*XStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "[]XStructDepth1_All{{F9: D}}",
		Source: []XStructDepth1_All{
			{
				F5: vdl.AnyType,
				F9: XEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XArray1_XStructEmpty{}",
		Target:      XList_XArray1_XStructEmpty(nil),
		SourceLabel: "XList_XArray1_XStructEmpty{}",
		Source:      XList_XArray1_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XArray1_XStructEmpty{}",
		Target:      XList_XArray1_XStructEmpty(nil),
		SourceLabel: "[]XList_Error{}",
		Source:      []XList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XArray1_XStructEmpty{}",
		Target:      XList_XArray1_XStructEmpty(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XArray1_XStructEmpty{{}}",
		Target: XList_XArray1_XStructEmpty{
			{},
		},
		SourceLabel: "XList_XArray1_XStructEmpty{{}}",
		Source: XList_XArray1_XStructEmpty{
			{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XArray1_XStructEmpty{{}}",
		Target: XList_XArray1_XStructEmpty{
			{},
		},
		SourceLabel: "XList_Any{XArray1_XStructEmpty{}}",
		Source: XList_Any{
			XArray1_XStructEmpty{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_List_XString{}",
		Target:      XList_List_XString(nil),
		SourceLabel: "XList_List_XString{}",
		Source:      XList_List_XString(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_List_XString{}",
		Target:      XList_List_XString(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_List_XString{}",
		Target:      XList_List_XString(nil),
		SourceLabel: "[]XArray1_String{}",
		Source:      []XArray1_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_List_XString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_List_XString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "XList_List_XString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XList_List_XString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_List_XString{{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XList_List_XString{
			{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "[]any{[]XString{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: []interface{}{
			[]XString{
				"abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_List_XString{{\"王普澤\", \"bcdeΔΘΠΣΦ王\"}, {\"bcdeΔΘΠ\"}}",
		Target: XList_List_XString{
			{
				"王普澤",
				"bcdeΔΘΠΣΦ王",
			},
			{
				"bcdeΔΘΠ",
			},
		},
		SourceLabel: "XList_List_XString{{\"王普澤\", \"bcdeΔΘΠΣΦ王\"}, {\"bcdeΔΘΠ\"}}",
		Source: XList_List_XString{
			{
				"王普澤",
				"bcdeΔΘΠΣΦ王",
			},
			{
				"bcdeΔΘΠ",
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_List_XString{{\"王普澤\", \"bcdeΔΘΠΣΦ王\"}, {\"bcdeΔΘΠ\"}}",
		Target: XList_List_XString{
			{
				"王普澤",
				"bcdeΔΘΠΣΦ王",
			},
			{
				"bcdeΔΘΠ",
			},
		},
		SourceLabel: "[]any{[]XString{\"王普澤\", \"bcdeΔΘΠΣΦ王\"}, []XString{\"bcdeΔΘΠ\"}}",
		Source: []interface{}{
			[]XString{
				"王普澤",
				"bcdeΔΘΠΣΦ王",
			},
			[]XString{
				"bcdeΔΘΠ",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_Set_XBool{}",
		Target:      XList_Set_XBool(nil),
		SourceLabel: "XList_Set_XBool{}",
		Source:      XList_Set_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Set_XBool{}",
		Target:      XList_Set_XBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_Set_XBool{}",
		Target:      XList_Set_XBool(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_Set_XBool{{true}}",
		Target: XList_Set_XBool{
			{
				true: struct{}{},
			},
		},
		SourceLabel: "XList_Set_XBool{{true}}",
		Source: XList_Set_XBool{
			{
				true: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_Set_XBool{{true}}",
		Target: XList_Set_XBool{
			{
				true: struct{}{},
			},
		},
		SourceLabel: "[]any{set[XBool]{true}}",
		Source: []interface{}{
			map[XBool]struct{}{
				true: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XMap_Byte_Byte{}",
		Target:      XList_XMap_Byte_Byte(nil),
		SourceLabel: "XList_XMap_Byte_Byte{}",
		Source:      XList_XMap_Byte_Byte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XMap_Byte_Byte{}",
		Target:      XList_XMap_Byte_Byte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XMap_Byte_Byte{}",
		Target:      XList_XMap_Byte_Byte(nil),
		SourceLabel: "[]XMap_XByte_XByte{}",
		Source:      []XMap_XByte_XByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XMap_Byte_Byte{{123: 123}}",
		Target: XList_XMap_Byte_Byte{
			{
				123: 123,
			},
		},
		SourceLabel: "XList_XMap_Byte_Byte{{123: 123}}",
		Source: XList_XMap_Byte_Byte{
			{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XMap_Byte_Byte{{123: 123}}",
		Target: XList_XMap_Byte_Byte{
			{
				123: 123,
			},
		},
		SourceLabel: "[]XMap_XByte_XByte{{123: 123}}",
		Source: []XMap_XByte_XByte{
			{
				123: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XMap_Byte_Byte{{0: 63, 10: 0}, {171: 0}, {93: 151}}",
		Target: XList_XMap_Byte_Byte{
			{
				0:  63,
				10: 0,
			},
			{
				171: 0,
			},
			{
				93: 151,
			},
		},
		SourceLabel: "XList_XMap_Byte_Byte{{0: 63, 10: 0}, {171: 0}, {93: 151}}",
		Source: XList_XMap_Byte_Byte{
			{
				0:  63,
				10: 0,
			},
			{
				171: 0,
			},
			{
				93: 151,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XMap_Byte_Byte{{0: 63, 10: 0}, {171: 0}, {93: 151}}",
		Target: XList_XMap_Byte_Byte{
			{
				0:  63,
				10: 0,
			},
			{
				171: 0,
			},
			{
				93: 151,
			},
		},
		SourceLabel: "XArray3_Any{XMap_Byte_Byte{0: 63, 10: 0}, XMap_Byte_Byte{171: 0}, XMap_Byte_Byte{93: 151}}",
		Source: XArray3_Any{
			XMap_Byte_Byte{
				0:  63,
				10: 0,
			},
			XMap_Byte_Byte{
				171: 0,
			},
			XMap_Byte_Byte{
				93: 151,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth1_All{}",
		Target:      XList_XStructDepth1_All(nil),
		SourceLabel: "XList_XStructDepth1_All{}",
		Source:      XList_XStructDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth1_All{}",
		Target:      XList_XStructDepth1_All(nil),
		SourceLabel: "XList_XStructEmpty{}",
		Source:      XList_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth1_All{}",
		Target:      XList_XStructDepth1_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XList_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "XList_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XList_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XStructDepth1_All{{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XList_XStructDepth1_All{
			{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "[]any{XStructDepth1_All{F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []interface{}{
			XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XStructDepth1_All{{F2: true, F3: \"deΔΘΠΣΦ王普\", F4: \"bcdeΔΘΠΣΦ王\", F5: typeobject(XSet_XStructEmpty), F6: 147, F7: 178, F9: D, F11: {Id: \"cdeΔΘ\"}, F14: 31884, F15: 1224172478, F17: 5018903974532464976, F18: 9899358694871220955, F19: 5, F20: 2, F21: -7295, F22: -9166, F24: 41399249, F26: 3363165724461504757, F27: -4.1187436e+09, F28: -4.7375818e+08, F29: 1.0715553175067283e+09, F30: 2.2383271360317728e+08, F31: {}, F32: {Id: \"abc\", Msg: \"ab\"}}}",
		Target: XList_XStructDepth1_All{
			{
				F2: true,
				F3: "deΔΘΠΣΦ王普",
				F4: "bcdeΔΘΠΣΦ王",
				F5: __VDLType_set_300,
				F6: 147,
				F7: 178,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id: "cdeΔΘ",
				},
				F14: 31884,
				F15: 1224172478,
				F17: 5018903974532464976,
				F18: 9899358694871220955,
				F19: 5,
				F20: 2,
				F21: -7295,
				F22: -9166,
				F24: 41399249,
				F26: 3363165724461504757,
				F27: -4.1187436e+09,
				F28: -4.7375818e+08,
				F29: 1.0715553175067283e+09,
				F30: 2.2383271360317728e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abc",
					Msg: "ab",
				},
			},
		},
		SourceLabel: "XList_XStructDepth1_All{{F2: true, F3: \"deΔΘΠΣΦ王普\", F4: \"bcdeΔΘΠΣΦ王\", F5: typeobject(XSet_XStructEmpty), F6: 147, F7: 178, F9: D, F11: {Id: \"cdeΔΘ\"}, F14: 31884, F15: 1224172478, F17: 5018903974532464976, F18: 9899358694871220955, F19: 5, F20: 2, F21: -7295, F22: -9166, F24: 41399249, F26: 3363165724461504757, F27: -4.1187436e+09, F28: -4.7375818e+08, F29: 1.0715553175067283e+09, F30: 2.2383271360317728e+08, F31: {}, F32: {Id: \"abc\", Msg: \"ab\"}}}",
		Source: XList_XStructDepth1_All{
			{
				F2: true,
				F3: "deΔΘΠΣΦ王普",
				F4: "bcdeΔΘΠΣΦ王",
				F5: __VDLType_set_300,
				F6: 147,
				F7: 178,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id: "cdeΔΘ",
				},
				F14: 31884,
				F15: 1224172478,
				F17: 5018903974532464976,
				F18: 9899358694871220955,
				F19: 5,
				F20: 2,
				F21: -7295,
				F22: -9166,
				F24: 41399249,
				F26: 3363165724461504757,
				F27: -4.1187436e+09,
				F28: -4.7375818e+08,
				F29: 1.0715553175067283e+09,
				F30: 2.2383271360317728e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abc",
					Msg: "ab",
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XStructDepth1_All{{F2: true, F3: \"deΔΘΠΣΦ王普\", F4: \"bcdeΔΘΠΣΦ王\", F5: typeobject(XSet_XStructEmpty), F6: 147, F7: 178, F9: D, F11: {Id: \"cdeΔΘ\"}, F14: 31884, F15: 1224172478, F17: 5018903974532464976, F18: 9899358694871220955, F19: 5, F20: 2, F21: -7295, F22: -9166, F24: 41399249, F26: 3363165724461504757, F27: -4.1187436e+09, F28: -4.7375818e+08, F29: 1.0715553175067283e+09, F30: 2.2383271360317728e+08, F31: {}, F32: {Id: \"abc\", Msg: \"ab\"}}}",
		Target: XList_XStructDepth1_All{
			{
				F2: true,
				F3: "deΔΘΠΣΦ王普",
				F4: "bcdeΔΘΠΣΦ王",
				F5: __VDLType_set_300,
				F6: 147,
				F7: 178,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id: "cdeΔΘ",
				},
				F14: 31884,
				F15: 1224172478,
				F17: 5018903974532464976,
				F18: 9899358694871220955,
				F19: 5,
				F20: 2,
				F21: -7295,
				F22: -9166,
				F24: 41399249,
				F26: 3363165724461504757,
				F27: -4.1187436e+09,
				F28: -4.7375818e+08,
				F29: 1.0715553175067283e+09,
				F30: 2.2383271360317728e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abc",
					Msg: "ab",
				},
			},
		},
		SourceLabel: "[]any{XStructDepth1_All{F2: true, F3: \"deΔΘΠΣΦ王普\", F4: \"bcdeΔΘΠΣΦ王\", F5: typeobject(XSet_XStructEmpty), F6: 147, F7: 178, F9: D, F11: {Id: \"cdeΔΘ\"}, F14: 31884, F15: 1224172478, F17: 5018903974532464976, F18: 9899358694871220955, F19: 5, F20: 2, F21: -7295, F22: -9166, F24: 41399249, F26: 3363165724461504757, F27: -4.1187436e+09, F28: -4.7375818e+08, F29: 1.0715553175067283e+09, F30: 2.2383271360317728e+08, F31: {}, F32: {Id: \"abc\", Msg: \"ab\"}}}",
		Source: []interface{}{
			XStructDepth1_All{
				F2: true,
				F3: "deΔΘΠΣΦ王普",
				F4: "bcdeΔΘΠΣΦ王",
				F5: __VDLType_set_300,
				F6: 147,
				F7: 178,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id: "cdeΔΘ",
				},
				F14: 31884,
				F15: 1224172478,
				F17: 5018903974532464976,
				F18: 9899358694871220955,
				F19: 5,
				F20: 2,
				F21: -7295,
				F22: -9166,
				F24: 41399249,
				F26: 3363165724461504757,
				F27: -4.1187436e+09,
				F28: -4.7375818e+08,
				F29: 1.0715553175067283e+09,
				F30: 2.2383271360317728e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abc",
					Msg: "ab",
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth1_All{}",
		Target:      XList_XUnionDepth1_All(nil),
		SourceLabel: "XList_XUnionDepth1_All{}",
		Source:      XList_XUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth1_All{}",
		Target:      XList_XUnionDepth1_All(nil),
		SourceLabel: "[]XUnionDepth1_All{}",
		Source:      []XUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth1_All{}",
		Target:      XList_XUnionDepth1_All(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XList_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "XList_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XList_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XList_XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "[]XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: []XUnionDepth1_All{
			XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XUnionDepth1_All{{F0: nil}, {F29: 2.950166179061692e+08}, {F3: \"\"}}",
		Target: XList_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF29{2.950166179061692e+08},
			XUnionDepth1_AllF3{},
		},
		SourceLabel: "XList_XUnionDepth1_All{{F0: nil}, {F29: 2.950166179061692e+08}, {F3: \"\"}}",
		Source: XList_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF29{2.950166179061692e+08},
			XUnionDepth1_AllF3{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XUnionDepth1_All{{F0: nil}, {F29: 2.950166179061692e+08}, {F3: \"\"}}",
		Target: XList_XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF29{2.950166179061692e+08},
			XUnionDepth1_AllF3{},
		},
		SourceLabel: "[]XUnionDepth1_All{{F0: nil}, {F29: 2.950166179061692e+08}, {F3: \"\"}}",
		Source: []XUnionDepth1_All{
			XUnionDepth1_AllF0{},
			XUnionDepth1_AllF29{2.950166179061692e+08},
			XUnionDepth1_AllF3{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth1_XEnumBcd{}",
		Target:      XList_OptXStructDepth1_XEnumBcd(nil),
		SourceLabel: "XList_OptXStructDepth1_XEnumBcd{}",
		Source:      XList_OptXStructDepth1_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth1_XEnumBcd{}",
		Target:      XList_OptXStructDepth1_XEnumBcd(nil),
		SourceLabel: "[]?XStructDepth1_XEnumBcd{}",
		Source:      []*XStructDepth1_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth1_XEnumBcd{}",
		Target:      XList_OptXStructDepth1_XEnumBcd(nil),
		SourceLabel: "XList_XStructEmpty{}",
		Source:      XList_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_OptXStructDepth1_XEnumBcd{{F9: D}}",
		Target: XList_OptXStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "XList_OptXStructDepth1_XEnumBcd{{F9: D}}",
		Source: XList_OptXStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_OptXStructDepth1_XEnumBcd{{F9: D}}",
		Target: XList_OptXStructDepth1_XEnumBcd{
			{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "[]any{?XStructDepth1_XEnumBcd{F9: D}}",
		Source: []interface{}{
			&XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XArray2_XEnumAbc]{}",
		Target:      map[XArray2_XEnumAbc]struct{}(nil),
		SourceLabel: "set[XArray2_XEnumAbc]{}",
		Source:      map[XArray2_XEnumAbc]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XArray2_XEnumAbc]{{C, C}}",
		Target: map[XArray2_XEnumAbc]struct{}{
			{
				XEnumAbcC,
				XEnumAbcC,
			}: struct{}{},
		},
		SourceLabel: "set[XArray2_XEnumAbc]{{C, C}}",
		Source: map[XArray2_XEnumAbc]struct{}{
			{
				XEnumAbcC,
				XEnumAbcC,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XStructDepth1_String]{}",
		Target:      map[XStructDepth1_String]struct{}(nil),
		SourceLabel: "set[XStructDepth1_String]{}",
		Source:      map[XStructDepth1_String]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructDepth1_String]{}",
		Target:      map[XStructDepth1_String]struct{}(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructDepth1_String]{}",
		Target:      map[XStructDepth1_String]struct{}(nil),
		SourceLabel: "XSet_XStructEmpty{}",
		Source:      XSet_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XStructDepth1_String]{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[XStructDepth1_String]{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XStructDepth1_String]{{}, {F3: \"cdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "cdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
		SourceLabel: "set[XStructDepth1_String]{{}, {F3: \"cdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "cdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XUnionDepth1_XNamedError]{}",
		Target:      map[XUnionDepth1_XNamedError]struct{}(nil),
		SourceLabel: "set[XUnionDepth1_XNamedError]{}",
		Source:      map[XUnionDepth1_XNamedError]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[XUnionDepth1_XNamedError]struct{}{
			XUnionDepth1_XNamedErrorF11{XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[XUnionDepth1_XNamedError]struct{}{
			XUnionDepth1_XNamedErrorF11{XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣΦ王普\"}}}",
		Target: map[XUnionDepth1_XNamedError]struct{}{
			XUnionDepth1_XNamedErrorF11{XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤",
				Msg: "abcdeΔΘΠΣΦ王普",
			}}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤\", Msg: \"abcdeΔΘΠΣΦ王普\"}}}",
		Source: map[XUnionDepth1_XNamedError]struct{}{
			XUnionDepth1_XNamedErrorF11{XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤",
				Msg: "abcdeΔΘΠΣΦ王普",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XArray1_XStructEmpty{}",
		Target:      XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "XSet_XArray1_XStructEmpty{}",
		Source:      XSet_XArray1_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XArray1_XStructEmpty{{}}",
		Target: XSet_XArray1_XStructEmpty{
			{}: struct{}{},
		},
		SourceLabel: "XSet_XArray1_XStructEmpty{{}}",
		Source: XSet_XArray1_XStructEmpty{
			{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth1_XFloat64{}",
		Target:      XSet_XStructDepth1_XFloat64(nil),
		SourceLabel: "XSet_XStructDepth1_XFloat64{}",
		Source:      XSet_XStructDepth1_XFloat64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth1_XFloat64{}",
		Target:      XSet_XStructDepth1_XFloat64(nil),
		SourceLabel: "XSet_XStructEmpty{}",
		Source:      XSet_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth1_XFloat64{}",
		Target:      XSet_XStructDepth1_XFloat64(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XStructDepth1_XFloat64{{F30: 1.5}}",
		Target: XSet_XStructDepth1_XFloat64{
			{
				F30: 1.5,
			}: struct{}{},
		},
		SourceLabel: "XSet_XStructDepth1_XFloat64{{F30: 1.5}}",
		Source: XSet_XStructDepth1_XFloat64{
			{
				F30: 1.5,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XStructDepth1_XFloat64{{F30: -4.338791546407051e+08}}",
		Target: XSet_XStructDepth1_XFloat64{
			{
				F30: -4.338791546407051e+08,
			}: struct{}{},
		},
		SourceLabel: "XSet_XStructDepth1_XFloat64{{F30: -4.338791546407051e+08}}",
		Source: XSet_XStructDepth1_XFloat64{
			{
				F30: -4.338791546407051e+08,
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XUnionDepth1_XInt8{}",
		Target:      XSet_XUnionDepth1_XInt8(nil),
		SourceLabel: "XSet_XUnionDepth1_XInt8{}",
		Source:      XSet_XUnionDepth1_XInt8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XUnionDepth1_XInt8{{F20: -123}}",
		Target: XSet_XUnionDepth1_XInt8{
			XUnionDepth1_XInt8F20{-123}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth1_XInt8{{F20: -123}}",
		Source: XSet_XUnionDepth1_XInt8{
			XUnionDepth1_XInt8F20{-123}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XUnionDepth1_XInt8{{F20: 0}}",
		Target: XSet_XUnionDepth1_XInt8{
			XUnionDepth1_XInt8F20{}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth1_XInt8{{F20: 0}}",
		Source: XSet_XUnionDepth1_XInt8{
			XUnionDepth1_XInt8F20{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XArray3_Int64]XArray3_Int64{}",
		Target:      map[XArray3_Int64]XArray3_Int64(nil),
		SourceLabel: "map[XArray3_Int64]XArray3_Int64{}",
		Source:      map[XArray3_Int64]XArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XArray3_Int64]XArray3_Int64{{-123, -123, -123}: {-123, -123, -123}}",
		Target: map[XArray3_Int64]XArray3_Int64{
			{
				-123,
				-123,
				-123,
			}: {
				-123,
				-123,
				-123,
			},
		},
		SourceLabel: "map[XArray3_Int64]XArray3_Int64{{-123, -123, -123}: {-123, -123, -123}}",
		Source: map[XArray3_Int64]XArray3_Int64{
			{
				-123,
				-123,
				-123,
			}: {
				-123,
				-123,
				-123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XArray3_Int64]XArray3_Int64{{-1723339302975699010, 1551317519793337777, 27938471691549772}: {-2124330902708903306, -483989880896138729, 1198009883539770066}}",
		Target: map[XArray3_Int64]XArray3_Int64{
			{
				-1723339302975699010,
				1551317519793337777,
				27938471691549772,
			}: {
				-2124330902708903306,
				-483989880896138729,
				1198009883539770066,
			},
		},
		SourceLabel: "map[XArray3_Int64]XArray3_Int64{{-1723339302975699010, 1551317519793337777, 27938471691549772}: {-2124330902708903306, -483989880896138729, 1198009883539770066}}",
		Source: map[XArray3_Int64]XArray3_Int64{
			{
				-1723339302975699010,
				1551317519793337777,
				27938471691549772,
			}: {
				-2124330902708903306,
				-483989880896138729,
				1198009883539770066,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XStructDepth1_String]XStructDepth1_String{}",
		Target:      map[XStructDepth1_String]XStructDepth1_String(nil),
		SourceLabel: "map[XStructDepth1_String]XStructDepth1_String{}",
		Source:      map[XStructDepth1_String]XStructDepth1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructDepth1_String]XStructDepth1_String{}",
		Target:      map[XStructDepth1_String]XStructDepth1_String(nil),
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Source:      XMap_XStructEmpty_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructDepth1_String]XStructDepth1_String{}",
		Target:      map[XStructDepth1_String]XStructDepth1_String(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XStructDepth1_String]XStructDepth1_String{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: map[XStructDepth1_String]XStructDepth1_String{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
		SourceLabel: "map[XStructDepth1_String]XStructDepth1_String{{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}: {F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: map[XStructDepth1_String]XStructDepth1_String{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: {
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XStructDepth1_String]XStructDepth1_String{{F3: \"cd\"}: {F3: \"abcdeΔΘΠΣΦ王普\"}, {F3: \"deΔΘΠΣΦ王普澤\"}: {F3: \"cdeΔΘ\"}, {F3: \"ΔΘΠΣΦ\"}: {}}",
		Target: map[XStructDepth1_String]XStructDepth1_String{
			{
				F3: "cd",
			}: {
				F3: "abcdeΔΘΠΣΦ王普",
			},
			{
				F3: "deΔΘΠΣΦ王普澤",
			}: {
				F3: "cdeΔΘ",
			},
			{
				F3: "ΔΘΠΣΦ",
			}: {},
		},
		SourceLabel: "map[XStructDepth1_String]XStructDepth1_String{{F3: \"cd\"}: {F3: \"abcdeΔΘΠΣΦ王普\"}, {F3: \"deΔΘΠΣΦ王普澤\"}: {F3: \"cdeΔΘ\"}, {F3: \"ΔΘΠΣΦ\"}: {}}",
		Source: map[XStructDepth1_String]XStructDepth1_String{
			{
				F3: "cd",
			}: {
				F3: "abcdeΔΘΠΣΦ王普",
			},
			{
				F3: "deΔΘΠΣΦ王普澤",
			}: {
				F3: "cdeΔΘ",
			},
			{
				F3: "ΔΘΠΣΦ",
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{}",
		Target:      map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
		SourceLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{}",
		Source:      map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}",
		Target: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
			XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}",
		Source: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
			XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 0}: {F29: -3.2099909632065117e+07}}",
		Target: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
			XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-3.2099909632065117e+07},
		},
		SourceLabel: "map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 0}: {F29: -3.2099909632065117e+07}}",
		Source: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
			XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-3.2099909632065117e+07},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "XMap_XArray3_XBool_XArray3_XBool{}",
		Source:      XMap_XArray3_XBool_XArray3_XBool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XArray3_XBool_XArray3_XBool{{true, true, true}: {true, true, true}}",
		Target: XMap_XArray3_XBool_XArray3_XBool{
			{
				true,
				true,
				true,
			}: {
				true,
				true,
				true,
			},
		},
		SourceLabel: "XMap_XArray3_XBool_XArray3_XBool{{true, true, true}: {true, true, true}}",
		Source: XMap_XArray3_XBool_XArray3_XBool{
			{
				true,
				true,
				true,
			}: {
				true,
				true,
				true,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{}",
		Target:      XMap_XStructDepth1_XBool_XStructDepth1_XBool(nil),
		SourceLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{}",
		Source:      XMap_XStructDepth1_XBool_XStructDepth1_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{}",
		Target:      XMap_XStructDepth1_XBool_XStructDepth1_XBool(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{}",
		Target:      XMap_XStructDepth1_XBool_XStructDepth1_XBool(nil),
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Source:      XMap_XStructEmpty_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{{F2: true}: {F2: true}}",
		Target: XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		},
		SourceLabel: "XMap_XStructDepth1_XBool_XStructDepth1_XBool{{F2: true}: {F2: true}}",
		Source: XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{}",
		Target:      XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64(nil),
		SourceLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{}",
		Source:      XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{{F18: 123}: {F18: 123}}",
		Target: XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{
			XUnionDepth1_XUint64F18{123}: XUnionDepth1_XUint64F18{123},
		},
		SourceLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{{F18: 123}: {F18: 123}}",
		Source: XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{
			XUnionDepth1_XUint64F18{123}: XUnionDepth1_XUint64F18{123},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{{F18: 0}: {F18: 17420072968693614323}}",
		Target: XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{
			XUnionDepth1_XUint64F18{}: XUnionDepth1_XUint64F18{17420072968693614323},
		},
		SourceLabel: "XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{{F18: 0}: {F18: 17420072968693614323}}",
		Source: XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64{
			XUnionDepth1_XUint64F18{}: XUnionDepth1_XUint64F18{17420072968693614323},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_All{}",
		Target: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_All{}",
		Target: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_All{}",
		Target: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "XStructDepth2_Set_Float64{}",
		Source:      XStructDepth2_Set_Float64{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}",
		Target: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
		SourceLabel: "XStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_All{F0: {typeobject(any), typeobject(set[string])}, F1: {624195240}, F2: {-16292, -6161}, F4: {0, 1.738953051495289e+09}, F5: {B}, F6: {0: 0, 21: 163}, F8: {F0: XList_XString{}, F3: \"bcd\", F6: 96, F7: 97, F8: C, F11: {Id: \"cde\", Msg: \"cdeΔΘΠΣΦ王普\"}, F12: {Id: \"王普澤世界\", RetryCode: RetryBackoff}, F13: 1022, F14: 41391, F15: 730244830, F16: 1039275857, F17: 1538341001578454974, F18: 4110406704162911514, F19: 32, F20: -2, F21: -15834, F23: -89743541, F25: -3452405940873946487, F26: -358236226010780487, F27: -1.4241786e+08, F28: -5.401664e+08, F29: -1.1107673826204848e+09, F30: -3.394175396032138e+07, F32: {}}, F10: {F7: 187}, F12: {F9: C}, F13: {}}",
		Target: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_set_301,
			},
			F1: XArray1_Uint32{
				624195240,
			},
			F2: []int16{
				-16292,
				-6161,
			},
			F4: map[float64]struct{}{
				0: struct{}{},
				1.738953051495289e+09: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0:  0,
				21: 163,
			},
			F8: XStructDepth1_All{
				F0: XList_XString(nil),
				F3: "bcd",
				F5: vdl.AnyType,
				F6: 96,
				F7: 97,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "cde",
					Msg: "cdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
				F13: 1022,
				F14: 41391,
				F15: 730244830,
				F16: 1039275857,
				F17: 1538341001578454974,
				F18: 4110406704162911514,
				F19: 32,
				F20: -2,
				F21: -15834,
				F23: -89743541,
				F25: -3452405940873946487,
				F26: -358236226010780487,
				F27: -1.4241786e+08,
				F28: -5.401664e+08,
				F29: -1.1107673826204848e+09,
				F30: -3.394175396032138e+07,
				F32: &XNamedError{},
			},
			F10: XUnionDepth1_AllF7{187},
			F11: XUnionDepth1_Float64F29{},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdC,
			},
			F13: &XStructDepth1_XUint16{},
		},
		SourceLabel: "XStructDepth2_All{F0: {typeobject(any), typeobject(set[string])}, F1: {624195240}, F2: {-16292, -6161}, F4: {0, 1.738953051495289e+09}, F5: {B}, F6: {0: 0, 21: 163}, F8: {F0: XList_XString{}, F3: \"bcd\", F6: 96, F7: 97, F8: C, F11: {Id: \"cde\", Msg: \"cdeΔΘΠΣΦ王普\"}, F12: {Id: \"王普澤世界\", RetryCode: RetryBackoff}, F13: 1022, F14: 41391, F15: 730244830, F16: 1039275857, F17: 1538341001578454974, F18: 4110406704162911514, F19: 32, F20: -2, F21: -15834, F23: -89743541, F25: -3452405940873946487, F26: -358236226010780487, F27: -1.4241786e+08, F28: -5.401664e+08, F29: -1.1107673826204848e+09, F30: -3.394175396032138e+07, F32: {}}, F10: {F7: 187}, F12: {F9: C}, F13: {}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_set_301,
			},
			F1: XArray1_Uint32{
				624195240,
			},
			F2: []int16{
				-16292,
				-6161,
			},
			F4: map[float64]struct{}{
				0: struct{}{},
				1.738953051495289e+09: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdB: struct{}{},
			},
			F6: map[byte]byte{
				0:  0,
				21: 163,
			},
			F8: XStructDepth1_All{
				F0: XList_XString(nil),
				F3: "bcd",
				F5: vdl.AnyType,
				F6: 96,
				F7: 97,
				F8: XEnumAbcC,
				F11: XNamedError{
					Id:  "cde",
					Msg: "cdeΔΘΠΣΦ王普",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
				}),
				F13: 1022,
				F14: 41391,
				F15: 730244830,
				F16: 1039275857,
				F17: 1538341001578454974,
				F18: 4110406704162911514,
				F19: 32,
				F20: -2,
				F21: -15834,
				F23: -89743541,
				F25: -3452405940873946487,
				F26: -358236226010780487,
				F27: -1.4241786e+08,
				F28: -5.401664e+08,
				F29: -1.1107673826204848e+09,
				F30: -3.394175396032138e+07,
				F32: &XNamedError{},
			},
			F10: XUnionDepth1_AllF7{187},
			F11: XUnionDepth1_Float64F29{},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdC,
			},
			F13: &XStructDepth1_XUint16{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "XStructDepth2_XArray2_TypeObject{}",
		Source: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
		SourceLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Source: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(int64), typeobject(int64)}}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
		},
		SourceLabel: "XStructDepth1_All{F0: XArray2_TypeObject{typeobject(int64), typeobject(int64)}}",
		Source: XStructDepth1_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F5: vdl.AnyType,
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				__VDLType_list_302,
				__VDLType_list_303,
			},
		},
		SourceLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Source: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				__VDLType_list_302,
				__VDLType_list_303,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				__VDLType_list_302,
				__VDLType_list_303,
			},
		},
		SourceLabel: "XStructDepth2_All{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				__VDLType_list_302,
				__VDLType_list_303,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray1_Uint32{}",
		Target:      XStructDepth2_XArray1_Uint32{},
		SourceLabel: "XStructDepth2_XArray1_Uint32{}",
		Source:      XStructDepth2_XArray1_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray1_Uint32{}",
		Target:      XStructDepth2_XArray1_Uint32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XArray1_Uint32{}",
		Target:      XStructDepth2_XArray1_Uint32{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XArray1_Uint32{F1: {123}}",
		Target: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				123,
			},
		},
		SourceLabel: "XStructDepth2_XArray1_Uint32{F1: {123}}",
		Source: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XArray1_Uint32{F1: {123}}",
		Target: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				123,
			},
		},
		SourceLabel: "XStructDepth2_All{F1: {123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F1: XArray1_Uint32{
				123,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XArray1_Uint32{F1: {830396580}}",
		Target: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				830396580,
			},
		},
		SourceLabel: "XStructDepth2_XArray1_Uint32{F1: {830396580}}",
		Source: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				830396580,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XArray1_Uint32{F1: {830396580}}",
		Target: XStructDepth2_XArray1_Uint32{
			F1: XArray1_Uint32{
				830396580,
			},
		},
		SourceLabel: "XStructDepth2_All{F1: {830396580}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F1: XArray1_Uint32{
				830396580,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_List_Int16{}",
		Target:      XStructDepth2_List_Int16{},
		SourceLabel: "XStructDepth2_List_Int16{}",
		Source:      XStructDepth2_List_Int16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_List_Int16{}",
		Target:      XStructDepth2_List_Int16{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_List_Int16{}",
		Target:      XStructDepth2_List_Int16{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_List_Int16{F2: {-123}}",
		Target: XStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
		SourceLabel: "XStructDepth2_List_Int16{F2: {-123}}",
		Source: XStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_List_Int16{F2: {-123}}",
		Target: XStructDepth2_List_Int16{
			F2: []int16{
				-123,
			},
		},
		SourceLabel: "XStructDepth2_All{F2: {-123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				-123,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_List_Int16{F2: {-6308, 0, -1378}}",
		Target: XStructDepth2_List_Int16{
			F2: []int16{
				-6308,
				0,
				-1378,
			},
		},
		SourceLabel: "XStructDepth2_List_Int16{F2: {-6308, 0, -1378}}",
		Source: XStructDepth2_List_Int16{
			F2: []int16{
				-6308,
				0,
				-1378,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_List_Int16{F2: {-6308, 0, -1378}}",
		Target: XStructDepth2_List_Int16{
			F2: []int16{
				-6308,
				0,
				-1378,
			},
		},
		SourceLabel: "XStructDepth2_All{F2: {-6308, 0, -1378}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F2: []int16{
				-6308,
				0,
				-1378,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XList_Any{}",
		Target:      XStructDepth2_XList_Any{},
		SourceLabel: "XStructDepth2_XList_Any{}",
		Source:      XStructDepth2_XList_Any{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XList_Any{}",
		Target:      XStructDepth2_XList_Any{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XList_Any{}",
		Target:      XStructDepth2_XList_Any{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XList_Any{F3: {int64(-123)}}",
		Target: XStructDepth2_XList_Any{
			F3: XList_Any{
				int64(-123),
			},
		},
		SourceLabel: "XStructDepth2_XList_Any{F3: {int64(-123)}}",
		Source: XStructDepth2_XList_Any{
			F3: XList_Any{
				int64(-123),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XList_Any{F3: {int64(-123)}}",
		Target: XStructDepth2_XList_Any{
			F3: XList_Any{
				int64(-123),
			},
		},
		SourceLabel: "XStructDepth2_All{F3: {int64(-123)}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F3: XList_Any{
				int64(-123),
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XList_Any{F3: {XStructDepth3_OptXStructDepth2_Set_Float64{}, XList_XFloat64{-1.416808473318998e+08, 0, -4.885891344268399e+07}}}",
		Target: XStructDepth2_XList_Any{
			F3: XList_Any{
				XStructDepth3_OptXStructDepth2_Set_Float64{},
				XList_XFloat64{
					-1.416808473318998e+08,
					0,
					-4.885891344268399e+07,
				},
			},
		},
		SourceLabel: "XStructDepth2_XList_Any{F3: {XStructDepth3_OptXStructDepth2_Set_Float64{}, XList_XFloat64{-1.416808473318998e+08, 0, -4.885891344268399e+07}}}",
		Source: XStructDepth2_XList_Any{
			F3: XList_Any{
				XStructDepth3_OptXStructDepth2_Set_Float64{},
				XList_XFloat64{
					-1.416808473318998e+08,
					0,
					-4.885891344268399e+07,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XList_Any{F3: {XStructDepth3_OptXStructDepth2_Set_Float64{}, XList_XFloat64{-1.416808473318998e+08, 0, -4.885891344268399e+07}}}",
		Target: XStructDepth2_XList_Any{
			F3: XList_Any{
				XStructDepth3_OptXStructDepth2_Set_Float64{},
				XList_XFloat64{
					-1.416808473318998e+08,
					0,
					-4.885891344268399e+07,
				},
			},
		},
		SourceLabel: "XStructDepth2_All{F3: {XStructDepth3_OptXStructDepth2_Set_Float64{}, XList_XFloat64{-1.416808473318998e+08, 0, -4.885891344268399e+07}}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F3: XList_Any{
				XStructDepth3_OptXStructDepth2_Set_Float64{},
				XList_XFloat64{
					-1.416808473318998e+08,
					0,
					-4.885891344268399e+07,
				},
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Set_Float64{}",
		Target:      XStructDepth2_Set_Float64{},
		SourceLabel: "XStructDepth2_Set_Float64{}",
		Source:      XStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Set_Float64{}",
		Target:      XStructDepth2_Set_Float64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Set_Float64{}",
		Target:      XStructDepth2_Set_Float64{},
		SourceLabel: "?XStructDepth2_Set_Float64{}",
		Source:      &XStructDepth2_Set_Float64{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_Set_Float64{F4: {1.5}}",
		Target: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_Set_Float64{F4: {1.5}}",
		Source: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_Set_Float64{F4: {1.5}}",
		Target: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_All{F4: {1.5}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Set_Float64{F4: {-2.964258524832707e+09, -5.64685356748069e+08, 0}}",
		Target: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.964258524832707e+09: struct{}{},
				-5.64685356748069e+08:  struct{}{},
				0: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_Set_Float64{F4: {-2.964258524832707e+09, -5.64685356748069e+08, 0}}",
		Source: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.964258524832707e+09: struct{}{},
				-5.64685356748069e+08:  struct{}{},
				0: struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Set_Float64{F4: {-2.964258524832707e+09, -5.64685356748069e+08, 0}}",
		Target: XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.964258524832707e+09: struct{}{},
				-5.64685356748069e+08:  struct{}{},
				0: struct{}{},
			},
		},
		SourceLabel: "?XStructDepth2_Set_Float64{F4: {-2.964258524832707e+09, -5.64685356748069e+08, 0}}",
		Source: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.964258524832707e+09: struct{}{},
				-5.64685356748069e+08:  struct{}{},
				0: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XSet_XEnumBcd{}",
		Target:      XStructDepth2_XSet_XEnumBcd{},
		SourceLabel: "XStructDepth2_XSet_XEnumBcd{}",
		Source:      XStructDepth2_XSet_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XSet_XEnumBcd{}",
		Target:      XStructDepth2_XSet_XEnumBcd{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XSet_XEnumBcd{}",
		Target:      XStructDepth2_XSet_XEnumBcd{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XSet_XEnumBcd{F5: {D}}",
		Target: XStructDepth2_XSet_XEnumBcd{
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_XSet_XEnumBcd{F5: {D}}",
		Source: XStructDepth2_XSet_XEnumBcd{
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XSet_XEnumBcd{F5: {D}}",
		Target: XStructDepth2_XSet_XEnumBcd{
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_All{F5: {D}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{}",
		Target:      XStructDepth2_Map_Byte_Byte{},
		SourceLabel: "XStructDepth2_Map_Byte_Byte{}",
		Source:      XStructDepth2_Map_Byte_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{}",
		Target:      XStructDepth2_Map_Byte_Byte{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{}",
		Target:      XStructDepth2_Map_Byte_Byte{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Target: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
		SourceLabel: "XStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Source: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{F6: {123: 123}}",
		Target: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				123: 123,
			},
		},
		SourceLabel: "XStructDepth2_All{F6: {123: 123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F6: map[byte]byte{
				123: 123,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{F6: {0: 85, 189: 200}}",
		Target: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				0:   85,
				189: 200,
			},
		},
		SourceLabel: "XStructDepth2_Map_Byte_Byte{F6: {0: 85, 189: 200}}",
		Source: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				0:   85,
				189: 200,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Map_Byte_Byte{F6: {0: 85, 189: 200}}",
		Target: XStructDepth2_Map_Byte_Byte{
			F6: map[byte]byte{
				0:   85,
				189: 200,
			},
		},
		SourceLabel: "XStructDepth2_All{F6: {0: 85, 189: 200}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F6: map[byte]byte{
				0:   85,
				189: 200,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{}",
		Target:      XStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "XStructDepth2_Map_Uint32_Uint32{}",
		Source:      XStructDepth2_Map_Uint32_Uint32{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{}",
		Target:      XStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{}",
		Target:      XStructDepth2_Map_Uint32_Uint32{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Target: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
		SourceLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Source: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {123: 123}}",
		Target: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				123: 123,
			},
		},
		SourceLabel: "XStructDepth2_All{F7: {123: 123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {0: 2532761821, 3848062770: 0, 703463747: 4101900733}}",
		Target: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				0:          2532761821,
				3848062770: 0,
				703463747:  4101900733,
			},
		},
		SourceLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {0: 2532761821, 3848062770: 0, 703463747: 4101900733}}",
		Source: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				0:          2532761821,
				3848062770: 0,
				703463747:  4101900733,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_Map_Uint32_Uint32{F7: {0: 2532761821, 3848062770: 0, 703463747: 4101900733}}",
		Target: XStructDepth2_Map_Uint32_Uint32{
			F7: map[uint32]uint32{
				0:          2532761821,
				3848062770: 0,
				703463747:  4101900733,
			},
		},
		SourceLabel: "XStructDepth2_All{F7: {0: 2532761821, 3848062770: 0, 703463747: 4101900733}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F7: map[uint32]uint32{
				0:          2532761821,
				3848062770: 0,
				703463747:  4101900733,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_All{}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XStructDepth2_XStructDepth1_All{}",
		Source: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_All{}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_All{}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "XStructDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
		},
		SourceLabel: "XStructDepth2_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XStructDepth1_All{F8: {F3: \"cdeΔΘΠΣΦ王普澤世\", F6: 70, F9: C, F12: {}, F13: 53713, F14: 25409, F17: 1167835684842304517, F18: 10758932550773047868, F19: -16, F20: -49, F22: -8426, F23: -1057855797, F24: 12186221, F25: -2931071009840800, F26: -3678742483845502331, F28: 2.4752714e+09, F30: 6.133162978943454e+08, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤世界\", Msg: \"deΔΘΠΣΦ\"}}}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F3:  "cdeΔΘΠΣΦ王普澤世",
				F5:  vdl.AnyType,
				F6:  70,
				F9:  XEnumBcdC,
				F12: verror.FromWire(&vdl.WireError{}),
				F13: 53713,
				F14: 25409,
				F17: 1167835684842304517,
				F18: 10758932550773047868,
				F19: -16,
				F20: -49,
				F22: -8426,
				F23: -1057855797,
				F24: 12186221,
				F25: -2931071009840800,
				F26: -3678742483845502331,
				F28: 2.4752714e+09,
				F30: 6.133162978943454e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤世界",
					Msg: "deΔΘΠΣΦ",
				},
			},
		},
		SourceLabel: "XStructDepth2_XStructDepth1_All{F8: {F3: \"cdeΔΘΠΣΦ王普澤世\", F6: 70, F9: C, F12: {}, F13: 53713, F14: 25409, F17: 1167835684842304517, F18: 10758932550773047868, F19: -16, F20: -49, F22: -8426, F23: -1057855797, F24: 12186221, F25: -2931071009840800, F26: -3678742483845502331, F28: 2.4752714e+09, F30: 6.133162978943454e+08, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤世界\", Msg: \"deΔΘΠΣΦ\"}}}",
		Source: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F3:  "cdeΔΘΠΣΦ王普澤世",
				F5:  vdl.AnyType,
				F6:  70,
				F9:  XEnumBcdC,
				F12: verror.FromWire(&vdl.WireError{}),
				F13: 53713,
				F14: 25409,
				F17: 1167835684842304517,
				F18: 10758932550773047868,
				F19: -16,
				F20: -49,
				F22: -8426,
				F23: -1057855797,
				F24: 12186221,
				F25: -2931071009840800,
				F26: -3678742483845502331,
				F28: 2.4752714e+09,
				F30: 6.133162978943454e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤世界",
					Msg: "deΔΘΠΣΦ",
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XStructDepth1_All{F8: {F3: \"cdeΔΘΠΣΦ王普澤世\", F6: 70, F9: C, F12: {}, F13: 53713, F14: 25409, F17: 1167835684842304517, F18: 10758932550773047868, F19: -16, F20: -49, F22: -8426, F23: -1057855797, F24: 12186221, F25: -2931071009840800, F26: -3678742483845502331, F28: 2.4752714e+09, F30: 6.133162978943454e+08, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤世界\", Msg: \"deΔΘΠΣΦ\"}}}",
		Target: XStructDepth2_XStructDepth1_All{
			F8: XStructDepth1_All{
				F3:  "cdeΔΘΠΣΦ王普澤世",
				F5:  vdl.AnyType,
				F6:  70,
				F9:  XEnumBcdC,
				F12: verror.FromWire(&vdl.WireError{}),
				F13: 53713,
				F14: 25409,
				F17: 1167835684842304517,
				F18: 10758932550773047868,
				F19: -16,
				F20: -49,
				F22: -8426,
				F23: -1057855797,
				F24: 12186221,
				F25: -2931071009840800,
				F26: -3678742483845502331,
				F28: 2.4752714e+09,
				F30: 6.133162978943454e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤世界",
					Msg: "deΔΘΠΣΦ",
				},
			},
		},
		SourceLabel: "XStructDepth2_All{F8: {F3: \"cdeΔΘΠΣΦ王普澤世\", F6: 70, F9: C, F12: {}, F13: 53713, F14: 25409, F17: 1167835684842304517, F18: 10758932550773047868, F19: -16, F20: -49, F22: -8426, F23: -1057855797, F24: 12186221, F25: -2931071009840800, F26: -3678742483845502331, F28: 2.4752714e+09, F30: 6.133162978943454e+08, F31: {}, F32: {Id: \"cdeΔΘΠΣΦ王普澤世界\", Msg: \"deΔΘΠΣΦ\"}}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F3:  "cdeΔΘΠΣΦ王普澤世",
				F5:  vdl.AnyType,
				F6:  70,
				F9:  XEnumBcdC,
				F12: verror.FromWire(&vdl.WireError{}),
				F13: 53713,
				F14: 25409,
				F17: 1167835684842304517,
				F18: 10758932550773047868,
				F19: -16,
				F20: -49,
				F22: -8426,
				F23: -1057855797,
				F24: 12186221,
				F25: -2931071009840800,
				F26: -3678742483845502331,
				F28: 2.4752714e+09,
				F30: 6.133162978943454e+08,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "cdeΔΘΠΣΦ王普澤世界",
					Msg: "deΔΘΠΣΦ",
				},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_Bool{}",
		Target:      XStructDepth2_XStructDepth1_Bool{},
		SourceLabel: "XStructDepth2_XStructDepth1_Bool{}",
		Source:      XStructDepth2_XStructDepth1_Bool{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_Bool{}",
		Target:      XStructDepth2_XStructDepth1_Bool{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XStructDepth1_Bool{}",
		Target:      XStructDepth2_XStructDepth1_Bool{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XStructDepth1_Bool{F9: {F1: true}}",
		Target: XStructDepth2_XStructDepth1_Bool{
			F9: XStructDepth1_Bool{
				F1: true,
			},
		},
		SourceLabel: "XStructDepth2_XStructDepth1_Bool{F9: {F1: true}}",
		Source: XStructDepth2_XStructDepth1_Bool{
			F9: XStructDepth1_Bool{
				F1: true,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XStructDepth1_Bool{F9: {F1: true}}",
		Target: XStructDepth2_XStructDepth1_Bool{
			F9: XStructDepth1_Bool{
				F1: true,
			},
		},
		SourceLabel: "XStructDepth2_All{F9: {F1: true}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF0{},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_All{}",
		Source: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF0{},
		},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF0{},
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
		},
		SourceLabel: "XStructDepth2_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{F10: {F26: -368579100129697723}}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF26{-368579100129697723},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_All{F10: {F26: -368579100129697723}}",
		Source: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF26{-368579100129697723},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XUnionDepth1_All{F10: {F26: -368579100129697723}}",
		Target: XStructDepth2_XUnionDepth1_All{
			F10: XUnionDepth1_AllF26{-368579100129697723},
		},
		SourceLabel: "XStructDepth2_All{F10: {F26: -368579100129697723}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF26{-368579100129697723},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_Float64{}",
		Source: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{},
		},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.5}}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.5}}",
		Source: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.5},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.5}}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.5},
		},
		SourceLabel: "XStructDepth2_All{F11: {F29: 1.5}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{1.5},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.2971103664867308e+07}}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.2971103664867308e+07},
		},
		SourceLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.2971103664867308e+07}}",
		Source: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.2971103664867308e+07},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XUnionDepth1_Float64{F11: {F29: 1.2971103664867308e+07}}",
		Target: XStructDepth2_XUnionDepth1_Float64{
			F11: XUnionDepth1_Float64F29{1.2971103664867308e+07},
		},
		SourceLabel: "XStructDepth2_All{F11: {F29: 1.2971103664867308e+07}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{1.2971103664867308e+07},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{}",
		Target:      XStructDepth2_OptXStructDepth1_XEnumBcd{},
		SourceLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{}",
		Source:      XStructDepth2_OptXStructDepth1_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{}",
		Target:      XStructDepth2_OptXStructDepth1_XEnumBcd{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{}",
		Target:      XStructDepth2_OptXStructDepth1_XEnumBcd{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Target: XStructDepth2_OptXStructDepth1_XEnumBcd{
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Source: XStructDepth2_OptXStructDepth1_XEnumBcd{
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Target: XStructDepth2_OptXStructDepth1_XEnumBcd{
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
		},
		SourceLabel: "XStructDepth2_All{F12: {F9: D}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{}",
		Target:      XStructDepth2_OptXStructDepth1_XUint16{},
		SourceLabel: "XStructDepth2_OptXStructDepth1_XUint16{}",
		Source:      XStructDepth2_OptXStructDepth1_XUint16{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{}",
		Target:      XStructDepth2_OptXStructDepth1_XUint16{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{}",
		Target:      XStructDepth2_OptXStructDepth1_XUint16{},
		SourceLabel: "XStructDepth2_All{}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 123}}",
		Target: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
		SourceLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 123}}",
		Source: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 123}}",
		Target: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
		SourceLabel: "XStructDepth2_All{F13: {F14: 123}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 57300}}",
		Target: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 57300,
			},
		},
		SourceLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 57300}}",
		Source: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 57300,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_OptXStructDepth1_XUint16{F13: {F14: 57300}}",
		Target: XStructDepth2_OptXStructDepth1_XUint16{
			F13: &XStructDepth1_XUint16{
				F14: 57300,
			},
		},
		SourceLabel: "XStructDepth2_All{F13: {F14: 57300}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
			F13: &XStructDepth1_XUint16{
				F14: 57300,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_All{F0: {}}",
		Target:      XUnionDepth2_All(XUnionDepth2_AllF0{}),
		SourceLabel: "XUnionDepth2_All{F0: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_All{F0: {}}",
		Target:      XUnionDepth2_All(XUnionDepth2_AllF0{}),
		SourceLabel: "XUnionDepth1_Any{F0: XArray1_String{}}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{XArray1_String{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_All{F0: {}}",
		Target:      XUnionDepth2_All(XUnionDepth2_AllF0{}),
		SourceLabel: "XUnionDepth2_XArray1_String{F0: {}}",
		Source:      XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_All{F13: {F28: 1.5}}",
		Target: XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "XUnionDepth2_All{F13: {F28: 1.5}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_All{F13: {F28: 1.5}}",
		Target: XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 1.5}}",
		Source: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_All{F8: {}}",
		Target: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "XUnionDepth2_All{F8: {}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_All{F8: {}}",
		Target: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_All{F8: {}}",
		Source: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {}}",
		Target:      XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{}),
		SourceLabel: "XUnionDepth2_XArray1_String{F0: {}}",
		Source:      XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {}}",
		Target:      XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{}),
		SourceLabel: "XUnionDepth1_All{F0: XArray1_String{}}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF0{XArray1_String{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {}}",
		Target:      XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{}),
		SourceLabel: "XUnionDepth2_All{F0: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth2_XArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Target: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
		SourceLabel: "XUnionDepth1_Any{F0: XArray1_String{\"abcdeΔΘΠΣΦ王普澤世界\"}}",
		Source: XUnionDepth1_Any(XUnionDepth1_AnyF0{XArray1_String{
			"abcdeΔΘΠΣΦ王普澤世界",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {\"ΔΘΠΣΦ王普澤\"}}",
		Target: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"ΔΘΠΣΦ王普澤",
		}}),
		SourceLabel: "XUnionDepth2_XArray1_String{F0: {\"ΔΘΠΣΦ王普澤\"}}",
		Source: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"ΔΘΠΣΦ王普澤",
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XArray1_String{F0: {\"ΔΘΠΣΦ王普澤\"}}",
		Target: XUnionDepth2_XArray1_String(XUnionDepth2_XArray1_StringF0{XArray1_String{
			"ΔΘΠΣΦ王普澤",
		}}),
		SourceLabel: "XUnionDepth1_All{F0: XArray1_String{\"ΔΘΠΣΦ王普澤\"}}",
		Source: XUnionDepth1_All(XUnionDepth1_AllF0{XArray1_String{
			"ΔΘΠΣΦ王普澤",
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\x00\\x00\"}",
		Target:      XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{}),
		SourceLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\x00\\x00\"}",
		Source:      XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\x00\\x00\"}",
		Target:      XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{}),
		SourceLabel: "XUnionDepth2_All{F1: \"\\x00\\x00\"}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"{{\"}",
		Target: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			123,
			123,
		}}),
		SourceLabel: "XUnionDepth2_XArray2_XByte{F1: \"{{\"}",
		Source: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			123,
			123,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"{{\"}",
		Target: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			123,
			123,
		}}),
		SourceLabel: "XUnionDepth2_All{F1: \"{{\"}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF1{XArray2_XByte{
			123,
			123,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\xc4'\"}",
		Target: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			196,
			39,
		}}),
		SourceLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\xc4'\"}",
		Source: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			196,
			39,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XArray2_XByte{F1: \"\\xc4'\"}",
		Target: XUnionDepth2_XArray2_XByte(XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
			196,
			39,
		}}),
		SourceLabel: "XUnionDepth2_All{F1: \"\\xc4'\"}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF1{XArray2_XByte{
			196,
			39,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
		SourceLabel: "XUnionDepth2_XList_XByte{F2: \"\"}",
		Source:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
		SourceLabel: "XUnionDepth2_All{F2: \"\"}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"{\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("{")}),
		SourceLabel: "XUnionDepth2_XList_XByte{F2: \"{\"}",
		Source:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("{")}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"{\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("{")}),
		SourceLabel: "XUnionDepth2_All{F2: \"{\"}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF2{XList_XByte("{")}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"UY\\x00\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("UY\x00")}),
		SourceLabel: "XUnionDepth2_XList_XByte{F2: \"UY\\x00\"}",
		Source:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("UY\x00")}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XList_XByte{F2: \"UY\\x00\"}",
		Target:      XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{XList_XByte("UY\x00")}),
		SourceLabel: "XUnionDepth2_All{F2: \"UY\\x00\"}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF2{XList_XByte("UY\x00")}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {}}",
		Target:      XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{}),
		SourceLabel: "XUnionDepth2_XList_OptXNamedError{F3: {}}",
		Source:      XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {}}",
		Target:      XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{}),
		SourceLabel: "XUnionDepth2_All{F3: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "XUnionDepth2_All{F3: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF3{XList_OptXNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"bcdeΔΘΠΣΦ王普澤世\", Msg: \"eΔΘΠΣΦ王普澤世\"}, {}}}",
		Target: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "bcdeΔΘΠΣΦ王普澤世",
				Msg: "eΔΘΠΣΦ王普澤世",
			},
			{},
		}}),
		SourceLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"bcdeΔΘΠΣΦ王普澤世\", Msg: \"eΔΘΠΣΦ王普澤世\"}, {}}}",
		Source: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "bcdeΔΘΠΣΦ王普澤世",
				Msg: "eΔΘΠΣΦ王普澤世",
			},
			{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XList_OptXNamedError{F3: {{Id: \"bcdeΔΘΠΣΦ王普澤世\", Msg: \"eΔΘΠΣΦ王普澤世\"}, {}}}",
		Target: XUnionDepth2_XList_OptXNamedError(XUnionDepth2_XList_OptXNamedErrorF3{XList_OptXNamedError{
			{
				Id:  "bcdeΔΘΠΣΦ王普澤世",
				Msg: "eΔΘΠΣΦ王普澤世",
			},
			{},
		}}),
		SourceLabel: "XUnionDepth2_All{F3: {{Id: \"bcdeΔΘΠΣΦ王普澤世\", Msg: \"eΔΘΠΣΦ王普澤世\"}, {}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF3{XList_OptXNamedError{
			{
				Id:  "bcdeΔΘΠΣΦ王普澤世",
				Msg: "eΔΘΠΣΦ王普澤世",
			},
			{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XSet_XBool{F4: {}}",
		Target:      XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{}),
		SourceLabel: "XUnionDepth2_XSet_XBool{F4: {}}",
		Source:      XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XSet_XBool{F4: {}}",
		Target:      XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{}),
		SourceLabel: "XUnionDepth2_All{F4: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF4{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XSet_XBool{F4: {true}}",
		Target: XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{XSet_XBool{
			true: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_XSet_XBool{F4: {true}}",
		Source: XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{XSet_XBool{
			true: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XSet_XBool{F4: {true}}",
		Target: XUnionDepth2_XSet_XBool(XUnionDepth2_XSet_XBoolF4{XSet_XBool{
			true: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_All{F4: {true}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF4{XSet_XBool{
			true: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {}}",
		Target:      XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
		SourceLabel: "XUnionDepth2_XSet_XNamedError{F5: {}}",
		Source:      XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {}}",
		Target:      XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{}),
		SourceLabel: "XUnionDepth2_All{F5: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF5{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_All{F5: {{Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF5{XSet_XNamedError{
			{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"eΔΘΠΣΦ\", Msg: \"abcdeΔΘΠΣΦ\"}, {Id: \"Π\", Msg: \"cdeΔΘΠΣΦ\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Target: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "abcdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "Π",
				Msg: "cdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "ΠΣΦ王普澤",
				Msg: "deΔΘΠΣΦ王普澤世",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"eΔΘΠΣΦ\", Msg: \"abcdeΔΘΠΣΦ\"}, {Id: \"Π\", Msg: \"cdeΔΘΠΣΦ\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Source: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "abcdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "Π",
				Msg: "cdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "ΠΣΦ王普澤",
				Msg: "deΔΘΠΣΦ王普澤世",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XSet_XNamedError{F5: {{Id: \"eΔΘΠΣΦ\", Msg: \"abcdeΔΘΠΣΦ\"}, {Id: \"Π\", Msg: \"cdeΔΘΠΣΦ\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Target: XUnionDepth2_XSet_XNamedError(XUnionDepth2_XSet_XNamedErrorF5{XSet_XNamedError{
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "abcdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "Π",
				Msg: "cdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "ΠΣΦ王普澤",
				Msg: "deΔΘΠΣΦ王普澤世",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth2_All{F5: {{Id: \"eΔΘΠΣΦ\", Msg: \"abcdeΔΘΠΣΦ\"}, {Id: \"Π\", Msg: \"cdeΔΘΠΣΦ\"}, {Id: \"ΠΣΦ王普澤\", Msg: \"deΔΘΠΣΦ王普澤世\"}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF5{XSet_XNamedError{
			{
				Id:  "eΔΘΠΣΦ",
				Msg: "abcdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "Π",
				Msg: "cdeΔΘΠΣΦ",
			}: struct{}{},
			{
				Id:  "ΠΣΦ王普澤",
				Msg: "deΔΘΠΣΦ王普澤世",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_Map_XBool_XBool{F6: {}}",
		Target:      XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{}),
		SourceLabel: "XUnionDepth2_Map_XBool_XBool{F6: {}}",
		Source:      XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_Map_XBool_XBool{F6: {}}",
		Target:      XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{}),
		SourceLabel: "XUnionDepth2_All{F6: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_Map_XBool_XBool{F6: {true: true}}",
		Target: XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{map[XBool]XBool{
			true: true,
		}}),
		SourceLabel: "XUnionDepth2_Map_XBool_XBool{F6: {true: true}}",
		Source: XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{map[XBool]XBool{
			true: true,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_Map_XBool_XBool{F6: {true: true}}",
		Target: XUnionDepth2_Map_XBool_XBool(XUnionDepth2_Map_XBool_XBoolF6{map[XBool]XBool{
			true: true,
		}}),
		SourceLabel: "XUnionDepth2_All{F6: {true: true}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF6{map[XBool]XBool{
			true: true,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {}}",
		Target:      XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{}),
		SourceLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {}}",
		Source:      XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {}}",
		Target:      XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{}),
		SourceLabel: "XUnionDepth2_All{F7: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF7{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {true: true}}",
		Target: XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{XMap_XBool_XBool{
			true: true,
		}}),
		SourceLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {true: true}}",
		Source: XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{XMap_XBool_XBool{
			true: true,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XMap_XBool_XBool{F7: {true: true}}",
		Target: XUnionDepth2_XMap_XBool_XBool(XUnionDepth2_XMap_XBool_XBoolF7{XMap_XBool_XBool{
			true: true,
		}}),
		SourceLabel: "XUnionDepth2_All{F7: {true: true}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF7{XMap_XBool_XBool{
			true: true,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_All{F8: {}}",
		Source: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
		SourceLabel: "XUnionDepth2_All{F8: {}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F5: vdl.AnyType,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
		SourceLabel: "XUnionDepth2_All{F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F0: int64(-123),
			F1: true,
			F2: true,
			F3: "abcdeΔΘΠΣΦ王普澤世界",
			F4: "abcdeΔΘΠΣΦ王普澤世界",
			F5: vdl.Int64Type,
			F6: 123,
			F7: 123,
			F8: XEnumAbcC,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "abcdeΔΘΠΣΦ王普澤世界",
				RetryCode: vdl.WireRetryCodeRetryBackoff,
				Msg:       "abcdeΔΘΠΣΦ王普澤世界",
			}),
			F13: 123,
			F14: 123,
			F15: 123,
			F16: 123,
			F17: 123,
			F18: 123,
			F19: -123,
			F20: -123,
			F21: -123,
			F22: -123,
			F23: -123,
			F24: -123,
			F25: -123,
			F26: -123,
			F27: 1.5,
			F28: 1.5,
			F29: 1.5,
			F30: 1.5,
			F31: &XStructEmpty{},
			F32: &XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {F1: true, F2: true, F3: \"ΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F8: B, F9: D, F11: {Id: \"deΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤\", RetryCode: RetryConnection, Msg: \"ΠΣΦ王普澤世界\"}, F14: 44906, F15: 2456026341, F17: 6892049149569369529, F18: 504392095298316610, F19: 17, F21: -12607, F23: -1050221321, F24: -451002291, F25: 1330567261637553657, F28: -2.23363e+08, F29: 1.9155494091834462e+09, F30: -5.575798863666346e+08}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F1: true,
			F2: true,
			F3: "ΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: vdl.AnyType,
			F8: XEnumAbcB,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id: "deΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "bcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "ΠΣΦ王普澤世界",
			}),
			F14: 44906,
			F15: 2456026341,
			F17: 6892049149569369529,
			F18: 504392095298316610,
			F19: 17,
			F21: -12607,
			F23: -1050221321,
			F24: -451002291,
			F25: 1330567261637553657,
			F28: -2.23363e+08,
			F29: 1.9155494091834462e+09,
			F30: -5.575798863666346e+08,
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_All{F8: {F1: true, F2: true, F3: \"ΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F8: B, F9: D, F11: {Id: \"deΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤\", RetryCode: RetryConnection, Msg: \"ΠΣΦ王普澤世界\"}, F14: 44906, F15: 2456026341, F17: 6892049149569369529, F18: 504392095298316610, F19: 17, F21: -12607, F23: -1050221321, F24: -451002291, F25: 1330567261637553657, F28: -2.23363e+08, F29: 1.9155494091834462e+09, F30: -5.575798863666346e+08}}",
		Source: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F1: true,
			F2: true,
			F3: "ΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: vdl.AnyType,
			F8: XEnumAbcB,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id: "deΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "bcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "ΠΣΦ王普澤世界",
			}),
			F14: 44906,
			F15: 2456026341,
			F17: 6892049149569369529,
			F18: 504392095298316610,
			F19: 17,
			F21: -12607,
			F23: -1050221321,
			F24: -451002291,
			F25: 1330567261637553657,
			F28: -2.23363e+08,
			F29: 1.9155494091834462e+09,
			F30: -5.575798863666346e+08,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XStructDepth1_All{F8: {F1: true, F2: true, F3: \"ΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F8: B, F9: D, F11: {Id: \"deΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤\", RetryCode: RetryConnection, Msg: \"ΠΣΦ王普澤世界\"}, F14: 44906, F15: 2456026341, F17: 6892049149569369529, F18: 504392095298316610, F19: 17, F21: -12607, F23: -1050221321, F24: -451002291, F25: 1330567261637553657, F28: -2.23363e+08, F29: 1.9155494091834462e+09, F30: -5.575798863666346e+08}}",
		Target: XUnionDepth2_XStructDepth1_All(XUnionDepth2_XStructDepth1_AllF8{XStructDepth1_All{
			F1: true,
			F2: true,
			F3: "ΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: vdl.AnyType,
			F8: XEnumAbcB,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id: "deΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "bcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "ΠΣΦ王普澤世界",
			}),
			F14: 44906,
			F15: 2456026341,
			F17: 6892049149569369529,
			F18: 504392095298316610,
			F19: 17,
			F21: -12607,
			F23: -1050221321,
			F24: -451002291,
			F25: 1330567261637553657,
			F28: -2.23363e+08,
			F29: 1.9155494091834462e+09,
			F30: -5.575798863666346e+08,
		}}),
		SourceLabel: "XUnionDepth2_All{F8: {F1: true, F2: true, F3: \"ΘΠΣΦ王普澤世\", F4: \"cdeΔΘ\", F8: B, F9: D, F11: {Id: \"deΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"bcdeΔΘΠΣΦ王普澤\", RetryCode: RetryConnection, Msg: \"ΠΣΦ王普澤世界\"}, F14: 44906, F15: 2456026341, F17: 6892049149569369529, F18: 504392095298316610, F19: 17, F21: -12607, F23: -1050221321, F24: -451002291, F25: 1330567261637553657, F28: -2.23363e+08, F29: 1.9155494091834462e+09, F30: -5.575798863666346e+08}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF8{XStructDepth1_All{
			F1: true,
			F2: true,
			F3: "ΘΠΣΦ王普澤世",
			F4: "cdeΔΘ",
			F5: vdl.AnyType,
			F8: XEnumAbcB,
			F9: XEnumBcdD,
			F11: XNamedError{
				Id: "deΔΘΠΣΦ王普澤世界",
			},
			F12: verror.FromWire(&vdl.WireError{
				Id:        "bcdeΔΘΠΣΦ王普澤",
				RetryCode: vdl.WireRetryCodeRetryConnection,
				Msg:       "ΠΣΦ王普澤世界",
			}),
			F14: 44906,
			F15: 2456026341,
			F17: 6892049149569369529,
			F18: 504392095298316610,
			F19: 17,
			F21: -12607,
			F23: -1050221321,
			F24: -451002291,
			F25: 1330567261637553657,
			F28: -2.23363e+08,
			F29: 1.9155494091834462e+09,
			F30: -5.575798863666346e+08,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {}}",
		Target:      XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{}),
		SourceLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {}}",
		Source:      XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {}}",
		Target:      XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{}),
		SourceLabel: "XUnionDepth2_All{F9: {}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF9{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -123}}",
		Target: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -123,
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -123}}",
		Source: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -123,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -123}}",
		Target: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -123,
		}}),
		SourceLabel: "XUnionDepth2_All{F9: {F19: -123}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF9{XStructDepth1_Int8{
			F19: -123,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -17}}",
		Target: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -17,
		}}),
		SourceLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -17}}",
		Source: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -17,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XStructDepth1_Int8{F9: {F19: -17}}",
		Target: XUnionDepth2_XStructDepth1_Int8(XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
			F19: -17,
		}}),
		SourceLabel: "XUnionDepth2_All{F9: {F19: -17}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF9{XStructDepth1_Int8{
			F19: -17,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F0: nil}}",
		Target:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF0{}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F0: nil}}",
		Source:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF0{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F0: nil}}",
		Target:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF0{}}),
		SourceLabel: "XUnionDepth2_All{F10: {F0: nil}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF10{XUnionDepth1_AllF0{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
		SourceLabel: "XUnionDepth2_All{F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF10{XUnionDepth1_AllF32{&XNamedError{
			Id:  "abcdeΔΘΠΣΦ王普澤世界",
			Msg: "abcdeΔΘΠΣΦ王普澤世界",
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F1: false}}",
		Target:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF1{}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F1: false}}",
		Source:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF1{}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XUnionDepth1_All{F10: {F1: false}}",
		Target:      XUnionDepth2_XUnionDepth1_All(XUnionDepth2_XUnionDepth1_AllF10{XUnionDepth1_AllF1{}}),
		SourceLabel: "XUnionDepth2_All{F10: {F1: false}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF10{XUnionDepth1_AllF1{}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 0}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 0}}",
		Source:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 0}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{}}),
		SourceLabel: "XUnionDepth2_All{F11: {F16: 0}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 123}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{123}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 123}}",
		Source:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{123}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 123}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{123}}),
		SourceLabel: "XUnionDepth2_All{F11: {F16: 123}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{123}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 1447068131}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{1447068131}}),
		SourceLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 1447068131}}",
		Source:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{1447068131}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_XUnionDepth1_XUint32{F11: {F16: 1447068131}}",
		Target:      XUnionDepth2_XUnionDepth1_XUint32(XUnionDepth2_XUnionDepth1_XUint32F11{XUnionDepth1_XUint32F16{1447068131}}),
		SourceLabel: "XUnionDepth2_All{F11: {F16: 1447068131}}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF11{XUnionDepth1_XUint32F16{1447068131}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: nil}",
		Target:      XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: nil}",
		Source:      XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: nil}",
		Target:      XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{}),
		SourceLabel: "XUnionDepth2_All{F12: nil}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF12{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Target: XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{&XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		}}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Source: XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{&XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XEnumBcd{F12: {F9: D}}",
		Target: XUnionDepth2_OptXStructDepth1_XEnumBcd(XUnionDepth2_OptXStructDepth1_XEnumBcdF12{&XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		}}),
		SourceLabel: "XUnionDepth2_All{F12: {F9: D}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF12{&XStructDepth1_XEnumBcd{
			F9: XEnumBcdD,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: nil}",
		Target:      XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: nil}",
		Source:      XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: nil}",
		Target:      XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{}),
		SourceLabel: "XUnionDepth2_All{F13: nil}",
		Source:      XUnionDepth2_All(XUnionDepth2_AllF13{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 1.5}}",
		Target: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 1.5}}",
		Source: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 1.5}}",
		Target: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
		SourceLabel: "XUnionDepth2_All{F13: {F28: 1.5}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 8.942269e+08}}",
		Target: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 8.942269e+08,
		}}),
		SourceLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 8.942269e+08}}",
		Source: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 8.942269e+08,
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth2_OptXStructDepth1_XFloat32{F13: {F28: 8.942269e+08}}",
		Target: XUnionDepth2_OptXStructDepth1_XFloat32(XUnionDepth2_OptXStructDepth1_XFloat32F13{&XStructDepth1_XFloat32{
			F28: 8.942269e+08,
		}}),
		SourceLabel: "XUnionDepth2_All{F13: {F28: 8.942269e+08}}",
		Source: XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 8.942269e+08,
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructDepth2_Set_Float64(nil)",
		Target:      (*XStructDepth2_Set_Float64)(nil),
		SourceLabel: "?XStructDepth2_Set_Float64(nil)",
		Source:      (*XStructDepth2_Set_Float64)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructDepth2_Set_Float64(nil)",
		Target:      (*XStructDepth2_Set_Float64)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructDepth2_Set_Float64(nil)",
		Target:      (*XStructDepth2_Set_Float64)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructDepth2_Set_Float64{F4: {1.5}}",
		Target: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "?XStructDepth2_Set_Float64{F4: {1.5}}",
		Source: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructDepth2_Set_Float64{F4: {1.5}}",
		Target: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_All{F4: {1.5}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "?XStructDepth2_Set_Float64{F4: {-1.5482595333652863e+07, -1.8546110877738907e+09, 8.285960578355051e+08}}",
		Target: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-1.5482595333652863e+07: struct{}{},
				-1.8546110877738907e+09: struct{}{},
				8.285960578355051e+08:   struct{}{},
			},
		},
		SourceLabel: "?XStructDepth2_Set_Float64{F4: {-1.5482595333652863e+07, -1.8546110877738907e+09, 8.285960578355051e+08}}",
		Source: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-1.5482595333652863e+07: struct{}{},
				-1.8546110877738907e+09: struct{}{},
				8.285960578355051e+08:   struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "?XStructDepth2_Set_Float64{F4: {-1.5482595333652863e+07, -1.8546110877738907e+09, 8.285960578355051e+08}}",
		Target: &XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-1.5482595333652863e+07: struct{}{},
				-1.8546110877738907e+09: struct{}{},
				8.285960578355051e+08:   struct{}{},
			},
		},
		SourceLabel: "XStructDepth2_All{F4: {-1.5482595333652863e+07, -1.8546110877738907e+09, 8.285960578355051e+08}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F4: map[float64]struct{}{
				-1.5482595333652863e+07: struct{}{},
				-1.8546110877738907e+09: struct{}{},
				8.285960578355051e+08:   struct{}{},
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray1_XArray1_XList_Byte{}",
		Target:      XArray1_XArray1_XList_Byte{},
		SourceLabel: "XArray1_XArray1_XList_Byte{}",
		Source:      XArray1_XArray1_XList_Byte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XArray1_XList_Byte{}",
		Target:      XArray1_XArray1_XList_Byte{},
		SourceLabel: "XList_Any{XArray1_XList_Byte{}}",
		Source: XList_Any{
			XArray1_XList_Byte{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray1_XArray1_XList_Byte{}",
		Target:      XArray1_XArray1_XList_Byte{},
		SourceLabel: "[]any{XArray1_XList_Byte{}}",
		Source: []interface{}{
			XArray1_XList_Byte{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray1_XArray1_XList_Byte{{\"{\"}}",
		Target: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("{"),
			},
		},
		SourceLabel: "XArray1_XArray1_XList_Byte{{\"{\"}}",
		Source: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("{"),
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray1_XArray1_XList_Byte{{\"{\"}}",
		Target: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("{"),
			},
		},
		SourceLabel: "XList_Any{XArray1_XList_Byte{\"{\"}}",
		Source: XList_Any{
			XArray1_XList_Byte{
				XList_Byte("{"),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray1_XArray1_XList_Byte{{\"\\x81\"}}",
		Target: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("\x81"),
			},
		},
		SourceLabel: "XArray1_XArray1_XList_Byte{{\"\\x81\"}}",
		Source: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("\x81"),
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray1_XArray1_XList_Byte{{\"\\x81\"}}",
		Target: XArray1_XArray1_XList_Byte{
			{
				XList_Byte("\x81"),
			},
		},
		SourceLabel: "XList_Any{XArray1_XList_Byte{\"\\x81\"}}",
		Source: XList_Any{
			XArray1_XList_Byte{
				XList_Byte("\x81"),
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{}",
		Target:      XArray2_List_XMap_XByte_XByte{},
		SourceLabel: "XArray2_List_XMap_XByte_XByte{}",
		Source:      XArray2_List_XMap_XByte_XByte{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{}",
		Target:      XArray2_List_XMap_XByte_XByte{},
		SourceLabel: "XList_Any{[]XMap_XByte_XByte{}, []XMap_XByte_XByte{}}",
		Source: XList_Any{
			[]XMap_XByte_XByte(nil),
			[]XMap_XByte_XByte(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{}",
		Target:      XArray2_List_XMap_XByte_XByte{},
		SourceLabel: "XList_List_XMap_XByte_XByte{{}, {}}",
		Source: XList_List_XMap_XByte_XByte{
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{{{123: 123}}, {{123: 123}}}",
		Target: XArray2_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "XArray2_List_XMap_XByte_XByte{{{123: 123}}, {{123: 123}}}",
		Source: XArray2_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{{{123: 123}}, {{123: 123}}}",
		Target: XArray2_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "XList_Any{[]XMap_XByte_XByte{{123: 123}}, []XMap_XByte_XByte{{123: 123}}}",
		Source: XList_Any{
			[]XMap_XByte_XByte{
				{
					123: 123,
				},
			},
			[]XMap_XByte_XByte{
				{
					123: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{{{}}, {{207: 252, 243: 0, 252: 101}, {}}}",
		Target: XArray2_List_XMap_XByte_XByte{
			{
				nil,
			},
			{
				{
					207: 252,
					243: 0,
					252: 101,
				},
				nil,
			},
		},
		SourceLabel: "XArray2_List_XMap_XByte_XByte{{{}}, {{207: 252, 243: 0, 252: 101}, {}}}",
		Source: XArray2_List_XMap_XByte_XByte{
			{
				nil,
			},
			{
				{
					207: 252,
					243: 0,
					252: 101,
				},
				nil,
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_List_XMap_XByte_XByte{{{}}, {{207: 252, 243: 0, 252: 101}, {}}}",
		Target: XArray2_List_XMap_XByte_XByte{
			{
				nil,
			},
			{
				{
					207: 252,
					243: 0,
					252: 101,
				},
				nil,
			},
		},
		SourceLabel: "XList_Any{[]XMap_XByte_XByte{{}}, []XMap_XByte_XByte{{207: 252, 243: 0, 252: 101}, {}}}",
		Source: XList_Any{
			[]XMap_XByte_XByte{
				nil,
			},
			[]XMap_XByte_XByte{
				{
					207: 252,
					243: 0,
					252: 101,
				},
				nil,
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{}",
		Target:      XArray2_Set_XUnionDepth1_XNamedError{},
		SourceLabel: "XArray2_Set_XUnionDepth1_XNamedError{}",
		Source:      XArray2_Set_XUnionDepth1_XNamedError{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{}",
		Target:      XArray2_Set_XUnionDepth1_XNamedError{},
		SourceLabel: "XList_Any{set[XUnionDepth1_XNamedError]{}, set[XUnionDepth1_XNamedError]{}}",
		Source: XList_Any{
			map[XUnionDepth1_XNamedError]struct{}(nil),
			map[XUnionDepth1_XNamedError]struct{}(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{}",
		Target:      XArray2_Set_XUnionDepth1_XNamedError{},
		SourceLabel: "[]any{set[XUnionDepth1_XNamedError]{}, set[XUnionDepth1_XNamedError]{}}",
		Source: []interface{}{
			map[XUnionDepth1_XNamedError]struct{}(nil),
			map[XUnionDepth1_XNamedError]struct{}(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XArray2_Set_XUnionDepth1_XNamedError{
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
		SourceLabel: "XArray2_Set_XUnionDepth1_XNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XArray2_Set_XUnionDepth1_XNamedError{
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, {{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XArray2_Set_XUnionDepth1_XNamedError{
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
		SourceLabel: "[]any{set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, set[XUnionDepth1_XNamedError]{{F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: []interface{}{
			map[XUnionDepth1_XNamedError]struct{}{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
			map[XUnionDepth1_XNamedError]struct{}{
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{{}, {{F11: {}}, {F11: {Id: \"e\"}}}}",
		Target: XArray2_Set_XUnionDepth1_XNamedError{
			nil,
			{
				XUnionDepth1_XNamedErrorF11{}: struct{}{},
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id: "e",
				}}: struct{}{},
			},
		},
		SourceLabel: "XArray2_Set_XUnionDepth1_XNamedError{{}, {{F11: {}}, {F11: {Id: \"e\"}}}}",
		Source: XArray2_Set_XUnionDepth1_XNamedError{
			nil,
			{
				XUnionDepth1_XNamedErrorF11{}: struct{}{},
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id: "e",
				}}: struct{}{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_Set_XUnionDepth1_XNamedError{{}, {{F11: {}}, {F11: {Id: \"e\"}}}}",
		Target: XArray2_Set_XUnionDepth1_XNamedError{
			nil,
			{
				XUnionDepth1_XNamedErrorF11{}: struct{}{},
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id: "e",
				}}: struct{}{},
			},
		},
		SourceLabel: "XList_Any{set[XUnionDepth1_XNamedError]{}, set[XUnionDepth1_XNamedError]{{F11: {}}, {F11: {Id: \"e\"}}}}",
		Source: XList_Any{
			map[XUnionDepth1_XNamedError]struct{}(nil),
			map[XUnionDepth1_XNamedError]struct{}{
				XUnionDepth1_XNamedErrorF11{}: struct{}{},
				XUnionDepth1_XNamedErrorF11{XNamedError{
					Id: "e",
				}}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Source:      XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "[]any{map[XUnionDepth1_Float64]XUnionDepth1_Float64{}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{}}",
		Source: []interface{}{
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "XList_Any{map[XUnionDepth1_Float64]XUnionDepth1_Float64{}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{}}",
		Source: XList_Any{
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
			map[XUnionDepth1_Float64]XUnionDepth1_Float64(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Target: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Source: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}, {{F29: 1.5}: {F29: 1.5}}}",
		Target: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "[]any{map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 1.5}: {F29: 1.5}}}",
		Source: []interface{}{
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 3.1599994040332496e+08}: {F29: -1.5686596621949365e+07}}, {{F29: 2.7756623525464993e+09}: {F29: 1.1969843301016219e+09}}, {{F29: 0}: {F29: 0}, {F29: 4.028709831106535e+07}: {F29: 0}}}",
		Target: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{3.1599994040332496e+08}: XUnionDepth1_Float64F29{-1.5686596621949365e+07},
			},
			{
				XUnionDepth1_Float64F29{2.7756623525464993e+09}: XUnionDepth1_Float64F29{1.1969843301016219e+09},
			},
			{
				XUnionDepth1_Float64F29{}:                      XUnionDepth1_Float64F29{},
				XUnionDepth1_Float64F29{4.028709831106535e+07}: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 3.1599994040332496e+08}: {F29: -1.5686596621949365e+07}}, {{F29: 2.7756623525464993e+09}: {F29: 1.1969843301016219e+09}}, {{F29: 0}: {F29: 0}, {F29: 4.028709831106535e+07}: {F29: 0}}}",
		Source: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{3.1599994040332496e+08}: XUnionDepth1_Float64F29{-1.5686596621949365e+07},
			},
			{
				XUnionDepth1_Float64F29{2.7756623525464993e+09}: XUnionDepth1_Float64F29{1.1969843301016219e+09},
			},
			{
				XUnionDepth1_Float64F29{}:                      XUnionDepth1_Float64F29{},
				XUnionDepth1_Float64F29{4.028709831106535e+07}: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{{{F29: 3.1599994040332496e+08}: {F29: -1.5686596621949365e+07}}, {{F29: 2.7756623525464993e+09}: {F29: 1.1969843301016219e+09}}, {{F29: 0}: {F29: 0}, {F29: 4.028709831106535e+07}: {F29: 0}}}",
		Target: XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			{
				XUnionDepth1_Float64F29{3.1599994040332496e+08}: XUnionDepth1_Float64F29{-1.5686596621949365e+07},
			},
			{
				XUnionDepth1_Float64F29{2.7756623525464993e+09}: XUnionDepth1_Float64F29{1.1969843301016219e+09},
			},
			{
				XUnionDepth1_Float64F29{}:                      XUnionDepth1_Float64F29{},
				XUnionDepth1_Float64F29{4.028709831106535e+07}: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XArray3_Any{map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 3.1599994040332496e+08}: {F29: -1.5686596621949365e+07}}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 2.7756623525464993e+09}: {F29: 1.1969843301016219e+09}}, map[XUnionDepth1_Float64]XUnionDepth1_Float64{{F29: 0}: {F29: 0}, {F29: 4.028709831106535e+07}: {F29: 0}}}",
		Source: XArray3_Any{
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{3.1599994040332496e+08}: XUnionDepth1_Float64F29{-1.5686596621949365e+07},
			},
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{2.7756623525464993e+09}: XUnionDepth1_Float64F29{1.1969843301016219e+09},
			},
			map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{}:                      XUnionDepth1_Float64F29{},
				XUnionDepth1_Float64F29{4.028709831106535e+07}: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth2_All{}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XArray2_XStructDepth2_All{}",
		Source: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth2_All{}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XList_OptXStructEmpty{{}, {}}",
		Source: XList_OptXStructEmpty{
			{},
			{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XStructDepth2_All{}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "[]?XStructEmpty{{}, {}}",
		Source: []*XStructEmpty{
			{},
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(any), typeobject(XArray2_XEnumBcd)}, F2: {9473, 5938}, F3: {int16(2192), XStructDepth3_All{F0: {{D}}, F1: {{F31: {}}}, F2: {{}}, F3: {{F29: -1.1165922379858755e+08}: {F29: -1.569161734832757e+09}}, F4: {F1: {2243984057}, F2: {0, 2479, 0}, F3: {XStructDepth1_XStructEmpty{}}, F4: {-1.5775969057942443e+09, -1.8198813631522796e+08}, F5: {B, D}, F7: {1301764874: 2534117066, 3361917737: 1820099714, 852495152: 1700539807}, F8: {F0: XStructDepth3_XArray1_Set_XEnumBcd{F0: {{C}}}, F4: \"Θ\", F7: 88, F11: {Id: \"Φ王普\", Msg: \"Σ\"}, F12: {Id: \"eΔΘΠΣΦ\", Msg: \"界\"}, F13: 23563, F14: 9186, F15: 2475611575, F16: 3559311778, F17: 17737118169357497710, F18: 3558251967950055864, F19: -52, F21: 10308, F22: -6340, F23: 870930854, F24: -600680739, F25: 817015124780152078, F26: 896416494217595175, F28: 9.8687014e+08, F29: -1.4115442283059388e+08, F31: {}, F32: {Id: \"Π\"}}, F10: {F11: {Msg: \"ΔΘΠ\"}}, F11: {F29: 2.9914791016795073e+09}, F12: {F9: D}, F13: {F14: 44301}}, F5: {F1: \"\\x03\\xc5\"}, F6: {F4: {-1.2220177986166332e+09, -3.2764475423036857e+09}}}, XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x9e\\x00\"}: {F1: \"\\x00\\x00\"}}}, F4: {-1.0060306983418753e+07}, F5: {C}, F6: {0: 80}, F7: {1609207365: 0, 2092504951: 1877580491}, F8: {F0: XInt8(-37), F2: true, F3: \"ΘΠΣΦ王普\", F7: 108, F8: C, F11: {Id: \"bcdeΔΘΠ\", Msg: \"Φ王\"}, F12: {Id: \"澤世界\", RetryCode: RetryBackoff, Msg: \"ΔΘΠΣΦ王\"}, F14: 29898, F15: 2465107563, F16: 703537128, F17: 10907673350192092042, F18: 2919667802991773779, F19: -11, F20: 38, F21: 5356, F23: -177103978, F24: 931968162, F28: 5.0028536e+07, F29: 7.305621239345392e+08, F30: 1.9862143149296916e+08}, F10: {F8: A}, F11: {F29: 3.5808997372158074e+08}, F12: {}, F13: {F14: 50491}}, {}}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_array_304,
				},
				F2: []int16{
					9473,
					5938,
				},
				F3: XList_Any{
					int16(2192),
					XStructDepth3_All{
						F0: XArray1_Set_XEnumBcd{
							{
								XEnumBcdD: struct{}{},
							},
						},
						F1: []XUnionDepth1_All{
							XUnionDepth1_AllF31{&XStructEmpty{}},
						},
						F2: XSet_XArray1_XStructEmpty{
							{}: struct{}{},
						},
						F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
							XUnionDepth1_Float64F29{-1.1165922379858755e+08}: XUnionDepth1_Float64F29{-1.569161734832757e+09},
						},
						F4: XStructDepth2_All{
							F0: XArray2_TypeObject{
								vdl.AnyType,
								vdl.AnyType,
							},
							F1: XArray1_Uint32{
								2243984057,
							},
							F2: []int16{
								0,
								2479,
								0,
							},
							F3: XList_Any{
								XStructDepth1_XStructEmpty{},
							},
							F4: map[float64]struct{}{
								-1.5775969057942443e+09: struct{}{},
								-1.8198813631522796e+08: struct{}{},
							},
							F5: XSet_XEnumBcd{
								XEnumBcdB: struct{}{},
								XEnumBcdD: struct{}{},
							},
							F7: map[uint32]uint32{
								1301764874: 2534117066,
								3361917737: 1820099714,
								852495152:  1700539807,
							},
							F8: XStructDepth1_All{
								F0: XStructDepth3_XArray1_Set_XEnumBcd{
									F0: XArray1_Set_XEnumBcd{
										{
											XEnumBcdC: struct{}{},
										},
									},
								},
								F4: "Θ",
								F5: vdl.AnyType,
								F7: 88,
								F11: XNamedError{
									Id:  "Φ王普",
									Msg: "Σ",
								},
								F12: verror.FromWire(&vdl.WireError{
									Id:  "eΔΘΠΣΦ",
									Msg: "界",
								}),
								F13: 23563,
								F14: 9186,
								F15: 2475611575,
								F16: 3559311778,
								F17: 17737118169357497710,
								F18: 3558251967950055864,
								F19: -52,
								F21: 10308,
								F22: -6340,
								F23: 870930854,
								F24: -600680739,
								F25: 817015124780152078,
								F26: 896416494217595175,
								F28: 9.8687014e+08,
								F29: -1.4115442283059388e+08,
								F31: &XStructEmpty{},
								F32: &XNamedError{
									Id: "Π",
								},
							},
							F10: XUnionDepth1_AllF11{XNamedError{
								Msg: "ΔΘΠ",
							}},
							F11: XUnionDepth1_Float64F29{2.9914791016795073e+09},
							F12: &XStructDepth1_XEnumBcd{
								F9: XEnumBcdD,
							},
							F13: &XStructDepth1_XUint16{
								F14: 44301,
							},
						},
						F5: XUnionDepth2_AllF1{XArray2_XByte{
							3,
							197,
						}},
						F6: &XStructDepth2_Set_Float64{
							F4: map[float64]struct{}{
								-1.2220177986166332e+09: struct{}{},
								-3.2764475423036857e+09: struct{}{},
							},
						},
					},
					XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
						XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
							158,
							0,
						}}: XUnionDepth2_XArray2_XByteF1{},
					},
				},
				F4: map[float64]struct{}{
					-1.0060306983418753e+07: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0: 80,
				},
				F7: map[uint32]uint32{
					1609207365: 0,
					2092504951: 1877580491,
				},
				F8: XStructDepth1_All{
					F0: XInt8(-37),
					F2: true,
					F3: "ΘΠΣΦ王普",
					F5: vdl.AnyType,
					F7: 108,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "bcdeΔΘΠ",
						Msg: "Φ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "ΔΘΠΣΦ王",
					}),
					F14: 29898,
					F15: 2465107563,
					F16: 703537128,
					F17: 10907673350192092042,
					F18: 2919667802991773779,
					F19: -11,
					F20: 38,
					F21: 5356,
					F23: -177103978,
					F24: 931968162,
					F28: 5.0028536e+07,
					F29: 7.305621239345392e+08,
					F30: 1.9862143149296916e+08,
				},
				F10: XUnionDepth1_AllF8{},
				F11: XUnionDepth1_Float64F29{3.5808997372158074e+08},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 50491,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(any), typeobject(XArray2_XEnumBcd)}, F2: {9473, 5938}, F3: {int16(2192), XStructDepth3_All{F0: {{D}}, F1: {{F31: {}}}, F2: {{}}, F3: {{F29: -1.1165922379858755e+08}: {F29: -1.569161734832757e+09}}, F4: {F1: {2243984057}, F2: {0, 2479, 0}, F3: {XStructDepth1_XStructEmpty{}}, F4: {-1.5775969057942443e+09, -1.8198813631522796e+08}, F5: {B, D}, F7: {1301764874: 2534117066, 3361917737: 1820099714, 852495152: 1700539807}, F8: {F0: XStructDepth3_XArray1_Set_XEnumBcd{F0: {{C}}}, F4: \"Θ\", F7: 88, F11: {Id: \"Φ王普\", Msg: \"Σ\"}, F12: {Id: \"eΔΘΠΣΦ\", Msg: \"界\"}, F13: 23563, F14: 9186, F15: 2475611575, F16: 3559311778, F17: 17737118169357497710, F18: 3558251967950055864, F19: -52, F21: 10308, F22: -6340, F23: 870930854, F24: -600680739, F25: 817015124780152078, F26: 896416494217595175, F28: 9.8687014e+08, F29: -1.4115442283059388e+08, F31: {}, F32: {Id: \"Π\"}}, F10: {F11: {Msg: \"ΔΘΠ\"}}, F11: {F29: 2.9914791016795073e+09}, F12: {F9: D}, F13: {F14: 44301}}, F5: {F1: \"\\x03\\xc5\"}, F6: {F4: {-1.2220177986166332e+09, -3.2764475423036857e+09}}}, XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x9e\\x00\"}: {F1: \"\\x00\\x00\"}}}, F4: {-1.0060306983418753e+07}, F5: {C}, F6: {0: 80}, F7: {1609207365: 0, 2092504951: 1877580491}, F8: {F0: XInt8(-37), F2: true, F3: \"ΘΠΣΦ王普\", F7: 108, F8: C, F11: {Id: \"bcdeΔΘΠ\", Msg: \"Φ王\"}, F12: {Id: \"澤世界\", RetryCode: RetryBackoff, Msg: \"ΔΘΠΣΦ王\"}, F14: 29898, F15: 2465107563, F16: 703537128, F17: 10907673350192092042, F18: 2919667802991773779, F19: -11, F20: 38, F21: 5356, F23: -177103978, F24: 931968162, F28: 5.0028536e+07, F29: 7.305621239345392e+08, F30: 1.9862143149296916e+08}, F10: {F8: A}, F11: {F29: 3.5808997372158074e+08}, F12: {}, F13: {F14: 50491}}, {}}",
		Source: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_array_304,
				},
				F2: []int16{
					9473,
					5938,
				},
				F3: XList_Any{
					int16(2192),
					XStructDepth3_All{
						F0: XArray1_Set_XEnumBcd{
							{
								XEnumBcdD: struct{}{},
							},
						},
						F1: []XUnionDepth1_All{
							XUnionDepth1_AllF31{&XStructEmpty{}},
						},
						F2: XSet_XArray1_XStructEmpty{
							{}: struct{}{},
						},
						F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
							XUnionDepth1_Float64F29{-1.1165922379858755e+08}: XUnionDepth1_Float64F29{-1.569161734832757e+09},
						},
						F4: XStructDepth2_All{
							F0: XArray2_TypeObject{
								vdl.AnyType,
								vdl.AnyType,
							},
							F1: XArray1_Uint32{
								2243984057,
							},
							F2: []int16{
								0,
								2479,
								0,
							},
							F3: XList_Any{
								XStructDepth1_XStructEmpty{},
							},
							F4: map[float64]struct{}{
								-1.5775969057942443e+09: struct{}{},
								-1.8198813631522796e+08: struct{}{},
							},
							F5: XSet_XEnumBcd{
								XEnumBcdB: struct{}{},
								XEnumBcdD: struct{}{},
							},
							F7: map[uint32]uint32{
								1301764874: 2534117066,
								3361917737: 1820099714,
								852495152:  1700539807,
							},
							F8: XStructDepth1_All{
								F0: XStructDepth3_XArray1_Set_XEnumBcd{
									F0: XArray1_Set_XEnumBcd{
										{
											XEnumBcdC: struct{}{},
										},
									},
								},
								F4: "Θ",
								F5: vdl.AnyType,
								F7: 88,
								F11: XNamedError{
									Id:  "Φ王普",
									Msg: "Σ",
								},
								F12: verror.FromWire(&vdl.WireError{
									Id:  "eΔΘΠΣΦ",
									Msg: "界",
								}),
								F13: 23563,
								F14: 9186,
								F15: 2475611575,
								F16: 3559311778,
								F17: 17737118169357497710,
								F18: 3558251967950055864,
								F19: -52,
								F21: 10308,
								F22: -6340,
								F23: 870930854,
								F24: -600680739,
								F25: 817015124780152078,
								F26: 896416494217595175,
								F28: 9.8687014e+08,
								F29: -1.4115442283059388e+08,
								F31: &XStructEmpty{},
								F32: &XNamedError{
									Id: "Π",
								},
							},
							F10: XUnionDepth1_AllF11{XNamedError{
								Msg: "ΔΘΠ",
							}},
							F11: XUnionDepth1_Float64F29{2.9914791016795073e+09},
							F12: &XStructDepth1_XEnumBcd{
								F9: XEnumBcdD,
							},
							F13: &XStructDepth1_XUint16{
								F14: 44301,
							},
						},
						F5: XUnionDepth2_AllF1{XArray2_XByte{
							3,
							197,
						}},
						F6: &XStructDepth2_Set_Float64{
							F4: map[float64]struct{}{
								-1.2220177986166332e+09: struct{}{},
								-3.2764475423036857e+09: struct{}{},
							},
						},
					},
					XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
						XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
							158,
							0,
						}}: XUnionDepth2_XArray2_XByteF1{},
					},
				},
				F4: map[float64]struct{}{
					-1.0060306983418753e+07: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0: 80,
				},
				F7: map[uint32]uint32{
					1609207365: 0,
					2092504951: 1877580491,
				},
				F8: XStructDepth1_All{
					F0: XInt8(-37),
					F2: true,
					F3: "ΘΠΣΦ王普",
					F5: vdl.AnyType,
					F7: 108,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "bcdeΔΘΠ",
						Msg: "Φ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "ΔΘΠΣΦ王",
					}),
					F14: 29898,
					F15: 2465107563,
					F16: 703537128,
					F17: 10907673350192092042,
					F18: 2919667802991773779,
					F19: -11,
					F20: 38,
					F21: 5356,
					F23: -177103978,
					F24: 931968162,
					F28: 5.0028536e+07,
					F29: 7.305621239345392e+08,
					F30: 1.9862143149296916e+08,
				},
				F10: XUnionDepth1_AllF8{},
				F11: XUnionDepth1_Float64F29{3.5808997372158074e+08},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 50491,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_XStructDepth2_All{{F0: {typeobject(any), typeobject(XArray2_XEnumBcd)}, F2: {9473, 5938}, F3: {int16(2192), XStructDepth3_All{F0: {{D}}, F1: {{F31: {}}}, F2: {{}}, F3: {{F29: -1.1165922379858755e+08}: {F29: -1.569161734832757e+09}}, F4: {F1: {2243984057}, F2: {0, 2479, 0}, F3: {XStructDepth1_XStructEmpty{}}, F4: {-1.5775969057942443e+09, -1.8198813631522796e+08}, F5: {B, D}, F7: {1301764874: 2534117066, 3361917737: 1820099714, 852495152: 1700539807}, F8: {F0: XStructDepth3_XArray1_Set_XEnumBcd{F0: {{C}}}, F4: \"Θ\", F7: 88, F11: {Id: \"Φ王普\", Msg: \"Σ\"}, F12: {Id: \"eΔΘΠΣΦ\", Msg: \"界\"}, F13: 23563, F14: 9186, F15: 2475611575, F16: 3559311778, F17: 17737118169357497710, F18: 3558251967950055864, F19: -52, F21: 10308, F22: -6340, F23: 870930854, F24: -600680739, F25: 817015124780152078, F26: 896416494217595175, F28: 9.8687014e+08, F29: -1.4115442283059388e+08, F31: {}, F32: {Id: \"Π\"}}, F10: {F11: {Msg: \"ΔΘΠ\"}}, F11: {F29: 2.9914791016795073e+09}, F12: {F9: D}, F13: {F14: 44301}}, F5: {F1: \"\\x03\\xc5\"}, F6: {F4: {-1.2220177986166332e+09, -3.2764475423036857e+09}}}, XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x9e\\x00\"}: {F1: \"\\x00\\x00\"}}}, F4: {-1.0060306983418753e+07}, F5: {C}, F6: {0: 80}, F7: {1609207365: 0, 2092504951: 1877580491}, F8: {F0: XInt8(-37), F2: true, F3: \"ΘΠΣΦ王普\", F7: 108, F8: C, F11: {Id: \"bcdeΔΘΠ\", Msg: \"Φ王\"}, F12: {Id: \"澤世界\", RetryCode: RetryBackoff, Msg: \"ΔΘΠΣΦ王\"}, F14: 29898, F15: 2465107563, F16: 703537128, F17: 10907673350192092042, F18: 2919667802991773779, F19: -11, F20: 38, F21: 5356, F23: -177103978, F24: 931968162, F28: 5.0028536e+07, F29: 7.305621239345392e+08, F30: 1.9862143149296916e+08}, F10: {F8: A}, F11: {F29: 3.5808997372158074e+08}, F12: {}, F13: {F14: 50491}}, {}}",
		Target: XArray2_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_array_304,
				},
				F2: []int16{
					9473,
					5938,
				},
				F3: XList_Any{
					int16(2192),
					XStructDepth3_All{
						F0: XArray1_Set_XEnumBcd{
							{
								XEnumBcdD: struct{}{},
							},
						},
						F1: []XUnionDepth1_All{
							XUnionDepth1_AllF31{&XStructEmpty{}},
						},
						F2: XSet_XArray1_XStructEmpty{
							{}: struct{}{},
						},
						F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
							XUnionDepth1_Float64F29{-1.1165922379858755e+08}: XUnionDepth1_Float64F29{-1.569161734832757e+09},
						},
						F4: XStructDepth2_All{
							F0: XArray2_TypeObject{
								vdl.AnyType,
								vdl.AnyType,
							},
							F1: XArray1_Uint32{
								2243984057,
							},
							F2: []int16{
								0,
								2479,
								0,
							},
							F3: XList_Any{
								XStructDepth1_XStructEmpty{},
							},
							F4: map[float64]struct{}{
								-1.5775969057942443e+09: struct{}{},
								-1.8198813631522796e+08: struct{}{},
							},
							F5: XSet_XEnumBcd{
								XEnumBcdB: struct{}{},
								XEnumBcdD: struct{}{},
							},
							F7: map[uint32]uint32{
								1301764874: 2534117066,
								3361917737: 1820099714,
								852495152:  1700539807,
							},
							F8: XStructDepth1_All{
								F0: XStructDepth3_XArray1_Set_XEnumBcd{
									F0: XArray1_Set_XEnumBcd{
										{
											XEnumBcdC: struct{}{},
										},
									},
								},
								F4: "Θ",
								F5: vdl.AnyType,
								F7: 88,
								F11: XNamedError{
									Id:  "Φ王普",
									Msg: "Σ",
								},
								F12: verror.FromWire(&vdl.WireError{
									Id:  "eΔΘΠΣΦ",
									Msg: "界",
								}),
								F13: 23563,
								F14: 9186,
								F15: 2475611575,
								F16: 3559311778,
								F17: 17737118169357497710,
								F18: 3558251967950055864,
								F19: -52,
								F21: 10308,
								F22: -6340,
								F23: 870930854,
								F24: -600680739,
								F25: 817015124780152078,
								F26: 896416494217595175,
								F28: 9.8687014e+08,
								F29: -1.4115442283059388e+08,
								F31: &XStructEmpty{},
								F32: &XNamedError{
									Id: "Π",
								},
							},
							F10: XUnionDepth1_AllF11{XNamedError{
								Msg: "ΔΘΠ",
							}},
							F11: XUnionDepth1_Float64F29{2.9914791016795073e+09},
							F12: &XStructDepth1_XEnumBcd{
								F9: XEnumBcdD,
							},
							F13: &XStructDepth1_XUint16{
								F14: 44301,
							},
						},
						F5: XUnionDepth2_AllF1{XArray2_XByte{
							3,
							197,
						}},
						F6: &XStructDepth2_Set_Float64{
							F4: map[float64]struct{}{
								-1.2220177986166332e+09: struct{}{},
								-3.2764475423036857e+09: struct{}{},
							},
						},
					},
					XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
						XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
							158,
							0,
						}}: XUnionDepth2_XArray2_XByteF1{},
					},
				},
				F4: map[float64]struct{}{
					-1.0060306983418753e+07: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0: 80,
				},
				F7: map[uint32]uint32{
					1609207365: 0,
					2092504951: 1877580491,
				},
				F8: XStructDepth1_All{
					F0: XInt8(-37),
					F2: true,
					F3: "ΘΠΣΦ王普",
					F5: vdl.AnyType,
					F7: 108,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "bcdeΔΘΠ",
						Msg: "Φ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "ΔΘΠΣΦ王",
					}),
					F14: 29898,
					F15: 2465107563,
					F16: 703537128,
					F17: 10907673350192092042,
					F18: 2919667802991773779,
					F19: -11,
					F20: 38,
					F21: 5356,
					F23: -177103978,
					F24: 931968162,
					F28: 5.0028536e+07,
					F29: 7.305621239345392e+08,
					F30: 1.9862143149296916e+08,
				},
				F10: XUnionDepth1_AllF8{},
				F11: XUnionDepth1_Float64F29{3.5808997372158074e+08},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 50491,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XList_Any{XStructDepth2_All{F0: {typeobject(any), typeobject(XArray2_XEnumBcd)}, F2: {9473, 5938}, F3: {int16(2192), XStructDepth3_All{F0: {{D}}, F1: {{F31: {}}}, F2: {{}}, F3: {{F29: -1.1165922379858755e+08}: {F29: -1.569161734832757e+09}}, F4: {F1: {2243984057}, F2: {0, 2479, 0}, F3: {XStructDepth1_XStructEmpty{}}, F4: {-1.5775969057942443e+09, -1.8198813631522796e+08}, F5: {B, D}, F7: {1301764874: 2534117066, 3361917737: 1820099714, 852495152: 1700539807}, F8: {F0: XStructDepth3_XArray1_Set_XEnumBcd{F0: {{C}}}, F4: \"Θ\", F7: 88, F11: {Id: \"Φ王普\", Msg: \"Σ\"}, F12: {Id: \"eΔΘΠΣΦ\", Msg: \"界\"}, F13: 23563, F14: 9186, F15: 2475611575, F16: 3559311778, F17: 17737118169357497710, F18: 3558251967950055864, F19: -52, F21: 10308, F22: -6340, F23: 870930854, F24: -600680739, F25: 817015124780152078, F26: 896416494217595175, F28: 9.8687014e+08, F29: -1.4115442283059388e+08, F31: {}, F32: {Id: \"Π\"}}, F10: {F11: {Msg: \"ΔΘΠ\"}}, F11: {F29: 2.9914791016795073e+09}, F12: {F9: D}, F13: {F14: 44301}}, F5: {F1: \"\\x03\\xc5\"}, F6: {F4: {-1.2220177986166332e+09, -3.2764475423036857e+09}}}, XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x9e\\x00\"}: {F1: \"\\x00\\x00\"}}}, F4: {-1.0060306983418753e+07}, F5: {C}, F6: {0: 80}, F7: {1609207365: 0, 2092504951: 1877580491}, F8: {F0: XInt8(-37), F2: true, F3: \"ΘΠΣΦ王普\", F7: 108, F8: C, F11: {Id: \"bcdeΔΘΠ\", Msg: \"Φ王\"}, F12: {Id: \"澤世界\", RetryCode: RetryBackoff, Msg: \"ΔΘΠΣΦ王\"}, F14: 29898, F15: 2465107563, F16: 703537128, F17: 10907673350192092042, F18: 2919667802991773779, F19: -11, F20: 38, F21: 5356, F23: -177103978, F24: 931968162, F28: 5.0028536e+07, F29: 7.305621239345392e+08, F30: 1.9862143149296916e+08}, F10: {F8: A}, F11: {F29: 3.5808997372158074e+08}, F12: {}, F13: {F14: 50491}}, XStructDepth2_All{}}",
		Source: XList_Any{
			XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_array_304,
				},
				F2: []int16{
					9473,
					5938,
				},
				F3: XList_Any{
					int16(2192),
					XStructDepth3_All{
						F0: XArray1_Set_XEnumBcd{
							{
								XEnumBcdD: struct{}{},
							},
						},
						F1: []XUnionDepth1_All{
							XUnionDepth1_AllF31{&XStructEmpty{}},
						},
						F2: XSet_XArray1_XStructEmpty{
							{}: struct{}{},
						},
						F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
							XUnionDepth1_Float64F29{-1.1165922379858755e+08}: XUnionDepth1_Float64F29{-1.569161734832757e+09},
						},
						F4: XStructDepth2_All{
							F0: XArray2_TypeObject{
								vdl.AnyType,
								vdl.AnyType,
							},
							F1: XArray1_Uint32{
								2243984057,
							},
							F2: []int16{
								0,
								2479,
								0,
							},
							F3: XList_Any{
								XStructDepth1_XStructEmpty{},
							},
							F4: map[float64]struct{}{
								-1.5775969057942443e+09: struct{}{},
								-1.8198813631522796e+08: struct{}{},
							},
							F5: XSet_XEnumBcd{
								XEnumBcdB: struct{}{},
								XEnumBcdD: struct{}{},
							},
							F7: map[uint32]uint32{
								1301764874: 2534117066,
								3361917737: 1820099714,
								852495152:  1700539807,
							},
							F8: XStructDepth1_All{
								F0: XStructDepth3_XArray1_Set_XEnumBcd{
									F0: XArray1_Set_XEnumBcd{
										{
											XEnumBcdC: struct{}{},
										},
									},
								},
								F4: "Θ",
								F5: vdl.AnyType,
								F7: 88,
								F11: XNamedError{
									Id:  "Φ王普",
									Msg: "Σ",
								},
								F12: verror.FromWire(&vdl.WireError{
									Id:  "eΔΘΠΣΦ",
									Msg: "界",
								}),
								F13: 23563,
								F14: 9186,
								F15: 2475611575,
								F16: 3559311778,
								F17: 17737118169357497710,
								F18: 3558251967950055864,
								F19: -52,
								F21: 10308,
								F22: -6340,
								F23: 870930854,
								F24: -600680739,
								F25: 817015124780152078,
								F26: 896416494217595175,
								F28: 9.8687014e+08,
								F29: -1.4115442283059388e+08,
								F31: &XStructEmpty{},
								F32: &XNamedError{
									Id: "Π",
								},
							},
							F10: XUnionDepth1_AllF11{XNamedError{
								Msg: "ΔΘΠ",
							}},
							F11: XUnionDepth1_Float64F29{2.9914791016795073e+09},
							F12: &XStructDepth1_XEnumBcd{
								F9: XEnumBcdD,
							},
							F13: &XStructDepth1_XUint16{
								F14: 44301,
							},
						},
						F5: XUnionDepth2_AllF1{XArray2_XByte{
							3,
							197,
						}},
						F6: &XStructDepth2_Set_Float64{
							F4: map[float64]struct{}{
								-1.2220177986166332e+09: struct{}{},
								-3.2764475423036857e+09: struct{}{},
							},
						},
					},
					XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
						XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
							158,
							0,
						}}: XUnionDepth2_XArray2_XByteF1{},
					},
				},
				F4: map[float64]struct{}{
					-1.0060306983418753e+07: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					0: 80,
				},
				F7: map[uint32]uint32{
					1609207365: 0,
					2092504951: 1877580491,
				},
				F8: XStructDepth1_All{
					F0: XInt8(-37),
					F2: true,
					F3: "ΘΠΣΦ王普",
					F5: vdl.AnyType,
					F7: 108,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "bcdeΔΘΠ",
						Msg: "Φ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "ΔΘΠΣΦ王",
					}),
					F14: 29898,
					F15: 2465107563,
					F16: 703537128,
					F17: 10907673350192092042,
					F18: 2919667802991773779,
					F19: -11,
					F20: 38,
					F21: 5356,
					F23: -177103978,
					F24: 931968162,
					F28: 5.0028536e+07,
					F29: 7.305621239345392e+08,
					F30: 1.9862143149296916e+08,
				},
				F10: XUnionDepth1_AllF8{},
				F11: XUnionDepth1_Float64F29{3.5808997372158074e+08},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 50491,
				},
			},
			XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray2_XUnionDepth2_All{}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF0{},
		},
		SourceLabel: "XArray2_XUnionDepth2_All{}",
		Source: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XUnionDepth2_All{}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF0{},
		},
		SourceLabel: "XList_XUnionDepth2_All{{F0: {}}, {F0: {}}}",
		Source: XList_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray2_XUnionDepth2_All{}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF0{},
		},
		SourceLabel: "[]any{XUnionDepth2_All{F0: {}}, XUnionDepth2_All{F0: {}}}",
		Source: []interface{}{
			XUnionDepth2_All(XUnionDepth2_AllF0{}),
			XUnionDepth2_All(XUnionDepth2_AllF0{}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray2_XUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "XArray2_XUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Source: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray2_XUnionDepth2_All{{F13: {F28: 1.5}}, {F13: {F28: 1.5}}}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]any{XUnionDepth2_All{F13: {F28: 1.5}}, XUnionDepth2_All{F13: {F28: 1.5}}}",
		Source: []interface{}{
			XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}}),
			XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray2_XUnionDepth2_All{{F0: {}}, {F9: {}}}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF9{},
		},
		SourceLabel: "XArray2_XUnionDepth2_All{{F0: {}}, {F9: {}}}",
		Source: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF9{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_XUnionDepth2_All{{F0: {}}, {F9: {}}}",
		Target: XArray2_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF9{},
		},
		SourceLabel: "XList_XUnionDepth2_All{{F0: {}}, {F9: {}}}",
		Source: XList_XUnionDepth2_All{
			XUnionDepth2_AllF0{},
			XUnionDepth2_AllF9{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{}",
		Target:      XArray3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "XArray3_OptXStructDepth2_Set_Float64{}",
		Source:      XArray3_OptXStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{}",
		Target:      XArray3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "[]?XStructDepth2_Set_Float64{nil, nil, nil}",
		Source: []*XStructDepth2_Set_Float64{
			nil,
			nil,
			nil,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{}",
		Target:      XArray3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{nil, nil, nil}",
		Source: XList_OptXStructDepth2_Set_Float64{
			nil,
			nil,
			nil,
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Target: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Source: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {1.5}}, {F4: {1.5}}, {F4: {1.5}}}",
		Target: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XList_Any{?XStructDepth2_Set_Float64{F4: {1.5}}, ?XStructDepth2_Set_Float64{F4: {1.5}}, ?XStructDepth2_Set_Float64{F4: {1.5}}}",
		Source: XList_Any{
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {2.7492247330252223e+09}}, nil, {F4: {-2.0684219699173448e+09, -2.245382466748307e+07, 0}}}",
		Target: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					2.7492247330252223e+09: struct{}{},
				},
			},
			nil,
			{
				F4: map[float64]struct{}{
					-2.0684219699173448e+09: struct{}{},
					-2.245382466748307e+07:  struct{}{},
					0: struct{}{},
				},
			},
		},
		SourceLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {2.7492247330252223e+09}}, nil, {F4: {-2.0684219699173448e+09, -2.245382466748307e+07, 0}}}",
		Source: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					2.7492247330252223e+09: struct{}{},
				},
			},
			nil,
			{
				F4: map[float64]struct{}{
					-2.0684219699173448e+09: struct{}{},
					-2.245382466748307e+07:  struct{}{},
					0: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray3_OptXStructDepth2_Set_Float64{{F4: {2.7492247330252223e+09}}, nil, {F4: {-2.0684219699173448e+09, -2.245382466748307e+07, 0}}}",
		Target: XArray3_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					2.7492247330252223e+09: struct{}{},
				},
			},
			nil,
			{
				F4: map[float64]struct{}{
					-2.0684219699173448e+09: struct{}{},
					-2.245382466748307e+07:  struct{}{},
					0: struct{}{},
				},
			},
		},
		SourceLabel: "[]any{?XStructDepth2_Set_Float64{F4: {2.7492247330252223e+09}}, nil, ?XStructDepth2_Set_Float64{F4: {-2.0684219699173448e+09, -2.245382466748307e+07, 0}}}",
		Source: []interface{}{
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					2.7492247330252223e+09: struct{}{},
				},
			},
			nil,
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					-2.0684219699173448e+09: struct{}{},
					-2.245382466748307e+07:  struct{}{},
					0: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XArray1_Set_XEnumBcd{}",
		Target:      []XArray1_Set_XEnumBcd(nil),
		SourceLabel: "[]XArray1_Set_XEnumBcd{}",
		Source:      []XArray1_Set_XEnumBcd(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XArray1_Set_XEnumBcd{}",
		Target:      []XArray1_Set_XEnumBcd(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XArray1_Set_XEnumBcd{}",
		Target:      []XArray1_Set_XEnumBcd(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XArray1_Set_XEnumBcd{{{D}}}",
		Target: []XArray1_Set_XEnumBcd{
			{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "[]XArray1_Set_XEnumBcd{{{D}}}",
		Source: []XArray1_Set_XEnumBcd{
			{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XArray1_Set_XEnumBcd{{{D}}}",
		Target: []XArray1_Set_XEnumBcd{
			{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "XList_Any{XArray1_Set_XEnumBcd{{D}}}",
		Source: XList_Any{
			XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[][]XList_Error{}",
		Target:      [][]XList_Error(nil),
		SourceLabel: "[][]XList_Error{}",
		Source:      [][]XList_Error(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[][]XList_Error{}",
		Target:      [][]XList_Error(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[][]XList_Error{}",
		Target:      [][]XList_Error(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[][]XList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: [][]XList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
		SourceLabel: "[][]XList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: [][]XList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[][]XList_Error{{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: [][]XList_Error{
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
		SourceLabel: "[]any{[]XList_Error{{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: []interface{}{
			[]XList_Error{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[][]XList_Error{{}, {{{Id: \"Φ王普\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠ\"}, {}}}}",
		Target: [][]XList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "Φ王普",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "cdeΔΘΠ",
					}),
					verror.FromWire(&vdl.WireError{}),
				},
			},
		},
		SourceLabel: "[][]XList_Error{{}, {{{Id: \"Φ王普\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠ\"}, {}}}}",
		Source: [][]XList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "Φ王普",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "cdeΔΘΠ",
					}),
					verror.FromWire(&vdl.WireError{}),
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[][]XList_Error{{}, {{{Id: \"Φ王普\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠ\"}, {}}}}",
		Target: [][]XList_Error{
			nil,
			{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "Φ王普",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "cdeΔΘΠ",
					}),
					verror.FromWire(&vdl.WireError{}),
				},
			},
		},
		SourceLabel: "[]any{[]XList_Error{}, []XList_Error{{{Id: \"Φ王普\", RetryCode: RetryRefetch, Msg: \"cdeΔΘΠ\"}, {}}}}",
		Source: []interface{}{
			[]XList_Error(nil),
			[]XList_Error{
				{
					verror.FromWire(&vdl.WireError{
						Id:        "Φ王普",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "cdeΔΘΠ",
					}),
					verror.FromWire(&vdl.WireError{}),
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XSet_XArray1_XStructEmpty{}",
		Target:      []XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "[]XSet_XArray1_XStructEmpty{}",
		Source:      []XSet_XArray1_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XSet_XArray1_XStructEmpty{}",
		Target:      []XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XSet_XArray1_XStructEmpty{}",
		Target:      []XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "XList_XSet_XArray1_XStructEmpty{}",
		Source:      XList_XSet_XArray1_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XSet_XArray1_XStructEmpty{{{}}}",
		Target: []XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "[]XSet_XArray1_XStructEmpty{{{}}}",
		Source: []XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XSet_XArray1_XStructEmpty{{{}}}",
		Target: []XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "[]any{XSet_XArray1_XStructEmpty{{}}}",
		Source: []interface{}{
			XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      []XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "[]XMap_XArray3_XBool_XArray3_XBool{}",
		Source:      []XMap_XArray3_XBool_XArray3_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      []XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      []XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Target: []XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "[]XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Source: []XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Target: []XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "XList_Any{XMap_XArray3_XBool_XArray3_XBool{{true, true, true}: {true, true, true}}}",
		Source: XList_Any{
			XMap_XArray3_XBool_XArray3_XBool{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XStructDepth2_All{}",
		Target:      []XStructDepth2_All(nil),
		SourceLabel: "[]XStructDepth2_All{}",
		Source:      []XStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructDepth2_All{}",
		Target:      []XStructDepth2_All(nil),
		SourceLabel: "XList_OptXStructEmpty{}",
		Source:      XList_OptXStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XStructDepth2_All{}",
		Target:      []XStructDepth2_All(nil),
		SourceLabel: "[]?XStructDepth2_Set_Float64{}",
		Source:      []*XStructDepth2_Set_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]any{XStructDepth2_All{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []interface{}{
			XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XStructDepth2_All{{F0: {typeobject(XUnionDepth2_XStructDepth1_Int8), typeobject(XStructEmpty)}, F1: {1903587924}, F4: {-1.5720458870141203e+09, -1.9983283293632567e+07, -3.238533857464902e+07}, F5: {C}, F6: {185: 224, 250: 166, 66: 55}, F7: {1711866111: 980372964}, F8: {F0: set[XEnumBcd]{}, F3: \"Π\", F4: \"澤世\", F6: 68, F7: 84, F8: B, F9: C, F11: {Id: \"普\", Msg: \"ΘΠΣΦ王\"}, F12: {Id: \"Φ王普澤世\", RetryCode: RetryConnection}, F13: 42676, F15: 408799640, F16: 789811085, F17: 6007520861701348572, F18: 11852786787010219255, F20: -59, F21: -5651, F22: -5518, F23: 809697317, F24: 894274817, F25: -2773492329477941139, F26: 4525864791192120644, F27: 7.8164875e+06, F28: 1.4380653e+08, F29: -2.4959352516715804e+08, F32: {Id: \"Σ\", Msg: \"ΠΣΦ\"}}, F10: {F11: {}}, F11: {F29: 1.2791933776285827e+09}, F12: {}, F13: {F14: 7158}}, {F0: {typeobject(any), typeobject(XUnionDepth1_Uint32)}, F1: {750756465}, F2: {-3324, 11455, 0}, F3: {XList_String{\"世界\", \"ΘΠΣ\", \"deΔΘΠΣΦ王普澤世\"}}, F4: {2.3672634377113853e+09}, F5: {C}, F6: {122: 240, 209: 0, 95: 222}, F8: {F0: XArray2_XEnumAbc{}, F3: \"abcdeΔΘ\", F4: \"deΔΘ\", F6: 79, F7: 43, F8: B, F11: {Id: \"cdeΔΘ\", Msg: \"deΔΘΠΣΦ王普\"}, F12: {Id: \"deΔΘΠΣΦ王\", RetryCode: RetryBackoff, Msg: \"Σ\"}, F13: 63812, F14: 25390, F15: 2173994838, F16: 1085303467, F18: 1659981826689811090, F19: 61, F20: -19, F21: -7658, F22: 2488, F23: -326261542, F24: 912306433, F25: -1472564370594820179, F26: 5918426459813665, F27: 2.8385942e+08, F28: 1.446681e+09, F29: -1.5443370570096679e+09, F30: 3.184784041271269e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F32: nil}, F12: {}}}",
		Target: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_union_305,
					__VDLType_struct_306,
				},
				F1: XArray1_Uint32{
					1903587924,
				},
				F4: map[float64]struct{}{
					-1.5720458870141203e+09: struct{}{},
					-1.9983283293632567e+07: struct{}{},
					-3.238533857464902e+07:  struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					185: 224,
					250: 166,
					66:  55,
				},
				F7: map[uint32]uint32{
					1711866111: 980372964,
				},
				F8: XStructDepth1_All{
					F0: map[XEnumBcd]struct{}(nil),
					F3: "Π",
					F4: "澤世",
					F5: vdl.AnyType,
					F6: 68,
					F7: 84,
					F8: XEnumAbcB,
					F9: XEnumBcdC,
					F11: XNamedError{
						Id:  "普",
						Msg: "ΘΠΣΦ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "Φ王普澤世",
						RetryCode: vdl.WireRetryCodeRetryConnection,
					}),
					F13: 42676,
					F15: 408799640,
					F16: 789811085,
					F17: 6007520861701348572,
					F18: 11852786787010219255,
					F20: -59,
					F21: -5651,
					F22: -5518,
					F23: 809697317,
					F24: 894274817,
					F25: -2773492329477941139,
					F26: 4525864791192120644,
					F27: 7.8164875e+06,
					F28: 1.4380653e+08,
					F29: -2.4959352516715804e+08,
					F32: &XNamedError{
						Id:  "Σ",
						Msg: "ΠΣΦ",
					},
				},
				F10: XUnionDepth1_AllF11{},
				F11: XUnionDepth1_Float64F29{1.2791933776285827e+09},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 7158,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_union_307,
				},
				F1: XArray1_Uint32{
					750756465,
				},
				F2: []int16{
					-3324,
					11455,
					0,
				},
				F3: XList_Any{
					XList_String{
						"世界",
						"ΘΠΣ",
						"deΔΘΠΣΦ王普澤世",
					},
				},
				F4: map[float64]struct{}{
					2.3672634377113853e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					122: 240,
					209: 0,
					95:  222,
				},
				F8: XStructDepth1_All{
					F0: XArray2_XEnumAbc{},
					F3: "abcdeΔΘ",
					F4: "deΔΘ",
					F5: vdl.AnyType,
					F6: 79,
					F7: 43,
					F8: XEnumAbcB,
					F11: XNamedError{
						Id:  "cdeΔΘ",
						Msg: "deΔΘΠΣΦ王普",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "deΔΘΠΣΦ王",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "Σ",
					}),
					F13: 63812,
					F14: 25390,
					F15: 2173994838,
					F16: 1085303467,
					F18: 1659981826689811090,
					F19: 61,
					F20: -19,
					F21: -7658,
					F22: 2488,
					F23: -326261542,
					F24: 912306433,
					F25: -1472564370594820179,
					F26: 5918426459813665,
					F27: 2.8385942e+08,
					F28: 1.446681e+09,
					F29: -1.5443370570096679e+09,
					F30: 3.184784041271269e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
		SourceLabel: "[]XStructDepth2_All{{F0: {typeobject(XUnionDepth2_XStructDepth1_Int8), typeobject(XStructEmpty)}, F1: {1903587924}, F4: {-1.5720458870141203e+09, -1.9983283293632567e+07, -3.238533857464902e+07}, F5: {C}, F6: {185: 224, 250: 166, 66: 55}, F7: {1711866111: 980372964}, F8: {F0: set[XEnumBcd]{}, F3: \"Π\", F4: \"澤世\", F6: 68, F7: 84, F8: B, F9: C, F11: {Id: \"普\", Msg: \"ΘΠΣΦ王\"}, F12: {Id: \"Φ王普澤世\", RetryCode: RetryConnection}, F13: 42676, F15: 408799640, F16: 789811085, F17: 6007520861701348572, F18: 11852786787010219255, F20: -59, F21: -5651, F22: -5518, F23: 809697317, F24: 894274817, F25: -2773492329477941139, F26: 4525864791192120644, F27: 7.8164875e+06, F28: 1.4380653e+08, F29: -2.4959352516715804e+08, F32: {Id: \"Σ\", Msg: \"ΠΣΦ\"}}, F10: {F11: {}}, F11: {F29: 1.2791933776285827e+09}, F12: {}, F13: {F14: 7158}}, {F0: {typeobject(any), typeobject(XUnionDepth1_Uint32)}, F1: {750756465}, F2: {-3324, 11455, 0}, F3: {XList_String{\"世界\", \"ΘΠΣ\", \"deΔΘΠΣΦ王普澤世\"}}, F4: {2.3672634377113853e+09}, F5: {C}, F6: {122: 240, 209: 0, 95: 222}, F8: {F0: XArray2_XEnumAbc{}, F3: \"abcdeΔΘ\", F4: \"deΔΘ\", F6: 79, F7: 43, F8: B, F11: {Id: \"cdeΔΘ\", Msg: \"deΔΘΠΣΦ王普\"}, F12: {Id: \"deΔΘΠΣΦ王\", RetryCode: RetryBackoff, Msg: \"Σ\"}, F13: 63812, F14: 25390, F15: 2173994838, F16: 1085303467, F18: 1659981826689811090, F19: 61, F20: -19, F21: -7658, F22: 2488, F23: -326261542, F24: 912306433, F25: -1472564370594820179, F26: 5918426459813665, F27: 2.8385942e+08, F28: 1.446681e+09, F29: -1.5443370570096679e+09, F30: 3.184784041271269e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F32: nil}, F12: {}}}",
		Source: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_union_305,
					__VDLType_struct_306,
				},
				F1: XArray1_Uint32{
					1903587924,
				},
				F4: map[float64]struct{}{
					-1.5720458870141203e+09: struct{}{},
					-1.9983283293632567e+07: struct{}{},
					-3.238533857464902e+07:  struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					185: 224,
					250: 166,
					66:  55,
				},
				F7: map[uint32]uint32{
					1711866111: 980372964,
				},
				F8: XStructDepth1_All{
					F0: map[XEnumBcd]struct{}(nil),
					F3: "Π",
					F4: "澤世",
					F5: vdl.AnyType,
					F6: 68,
					F7: 84,
					F8: XEnumAbcB,
					F9: XEnumBcdC,
					F11: XNamedError{
						Id:  "普",
						Msg: "ΘΠΣΦ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "Φ王普澤世",
						RetryCode: vdl.WireRetryCodeRetryConnection,
					}),
					F13: 42676,
					F15: 408799640,
					F16: 789811085,
					F17: 6007520861701348572,
					F18: 11852786787010219255,
					F20: -59,
					F21: -5651,
					F22: -5518,
					F23: 809697317,
					F24: 894274817,
					F25: -2773492329477941139,
					F26: 4525864791192120644,
					F27: 7.8164875e+06,
					F28: 1.4380653e+08,
					F29: -2.4959352516715804e+08,
					F32: &XNamedError{
						Id:  "Σ",
						Msg: "ΠΣΦ",
					},
				},
				F10: XUnionDepth1_AllF11{},
				F11: XUnionDepth1_Float64F29{1.2791933776285827e+09},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 7158,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_union_307,
				},
				F1: XArray1_Uint32{
					750756465,
				},
				F2: []int16{
					-3324,
					11455,
					0,
				},
				F3: XList_Any{
					XList_String{
						"世界",
						"ΘΠΣ",
						"deΔΘΠΣΦ王普澤世",
					},
				},
				F4: map[float64]struct{}{
					2.3672634377113853e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					122: 240,
					209: 0,
					95:  222,
				},
				F8: XStructDepth1_All{
					F0: XArray2_XEnumAbc{},
					F3: "abcdeΔΘ",
					F4: "deΔΘ",
					F5: vdl.AnyType,
					F6: 79,
					F7: 43,
					F8: XEnumAbcB,
					F11: XNamedError{
						Id:  "cdeΔΘ",
						Msg: "deΔΘΠΣΦ王普",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "deΔΘΠΣΦ王",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "Σ",
					}),
					F13: 63812,
					F14: 25390,
					F15: 2173994838,
					F16: 1085303467,
					F18: 1659981826689811090,
					F19: 61,
					F20: -19,
					F21: -7658,
					F22: 2488,
					F23: -326261542,
					F24: 912306433,
					F25: -1472564370594820179,
					F26: 5918426459813665,
					F27: 2.8385942e+08,
					F28: 1.446681e+09,
					F29: -1.5443370570096679e+09,
					F30: 3.184784041271269e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XStructDepth2_All{{F0: {typeobject(XUnionDepth2_XStructDepth1_Int8), typeobject(XStructEmpty)}, F1: {1903587924}, F4: {-1.5720458870141203e+09, -1.9983283293632567e+07, -3.238533857464902e+07}, F5: {C}, F6: {185: 224, 250: 166, 66: 55}, F7: {1711866111: 980372964}, F8: {F0: set[XEnumBcd]{}, F3: \"Π\", F4: \"澤世\", F6: 68, F7: 84, F8: B, F9: C, F11: {Id: \"普\", Msg: \"ΘΠΣΦ王\"}, F12: {Id: \"Φ王普澤世\", RetryCode: RetryConnection}, F13: 42676, F15: 408799640, F16: 789811085, F17: 6007520861701348572, F18: 11852786787010219255, F20: -59, F21: -5651, F22: -5518, F23: 809697317, F24: 894274817, F25: -2773492329477941139, F26: 4525864791192120644, F27: 7.8164875e+06, F28: 1.4380653e+08, F29: -2.4959352516715804e+08, F32: {Id: \"Σ\", Msg: \"ΠΣΦ\"}}, F10: {F11: {}}, F11: {F29: 1.2791933776285827e+09}, F12: {}, F13: {F14: 7158}}, {F0: {typeobject(any), typeobject(XUnionDepth1_Uint32)}, F1: {750756465}, F2: {-3324, 11455, 0}, F3: {XList_String{\"世界\", \"ΘΠΣ\", \"deΔΘΠΣΦ王普澤世\"}}, F4: {2.3672634377113853e+09}, F5: {C}, F6: {122: 240, 209: 0, 95: 222}, F8: {F0: XArray2_XEnumAbc{}, F3: \"abcdeΔΘ\", F4: \"deΔΘ\", F6: 79, F7: 43, F8: B, F11: {Id: \"cdeΔΘ\", Msg: \"deΔΘΠΣΦ王普\"}, F12: {Id: \"deΔΘΠΣΦ王\", RetryCode: RetryBackoff, Msg: \"Σ\"}, F13: 63812, F14: 25390, F15: 2173994838, F16: 1085303467, F18: 1659981826689811090, F19: 61, F20: -19, F21: -7658, F22: 2488, F23: -326261542, F24: 912306433, F25: -1472564370594820179, F26: 5918426459813665, F27: 2.8385942e+08, F28: 1.446681e+09, F29: -1.5443370570096679e+09, F30: 3.184784041271269e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F32: nil}, F12: {}}}",
		Target: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_union_305,
					__VDLType_struct_306,
				},
				F1: XArray1_Uint32{
					1903587924,
				},
				F4: map[float64]struct{}{
					-1.5720458870141203e+09: struct{}{},
					-1.9983283293632567e+07: struct{}{},
					-3.238533857464902e+07:  struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					185: 224,
					250: 166,
					66:  55,
				},
				F7: map[uint32]uint32{
					1711866111: 980372964,
				},
				F8: XStructDepth1_All{
					F0: map[XEnumBcd]struct{}(nil),
					F3: "Π",
					F4: "澤世",
					F5: vdl.AnyType,
					F6: 68,
					F7: 84,
					F8: XEnumAbcB,
					F9: XEnumBcdC,
					F11: XNamedError{
						Id:  "普",
						Msg: "ΘΠΣΦ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "Φ王普澤世",
						RetryCode: vdl.WireRetryCodeRetryConnection,
					}),
					F13: 42676,
					F15: 408799640,
					F16: 789811085,
					F17: 6007520861701348572,
					F18: 11852786787010219255,
					F20: -59,
					F21: -5651,
					F22: -5518,
					F23: 809697317,
					F24: 894274817,
					F25: -2773492329477941139,
					F26: 4525864791192120644,
					F27: 7.8164875e+06,
					F28: 1.4380653e+08,
					F29: -2.4959352516715804e+08,
					F32: &XNamedError{
						Id:  "Σ",
						Msg: "ΠΣΦ",
					},
				},
				F10: XUnionDepth1_AllF11{},
				F11: XUnionDepth1_Float64F29{1.2791933776285827e+09},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 7158,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_union_307,
				},
				F1: XArray1_Uint32{
					750756465,
				},
				F2: []int16{
					-3324,
					11455,
					0,
				},
				F3: XList_Any{
					XList_String{
						"世界",
						"ΘΠΣ",
						"deΔΘΠΣΦ王普澤世",
					},
				},
				F4: map[float64]struct{}{
					2.3672634377113853e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					122: 240,
					209: 0,
					95:  222,
				},
				F8: XStructDepth1_All{
					F0: XArray2_XEnumAbc{},
					F3: "abcdeΔΘ",
					F4: "deΔΘ",
					F5: vdl.AnyType,
					F6: 79,
					F7: 43,
					F8: XEnumAbcB,
					F11: XNamedError{
						Id:  "cdeΔΘ",
						Msg: "deΔΘΠΣΦ王普",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "deΔΘΠΣΦ王",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "Σ",
					}),
					F13: 63812,
					F14: 25390,
					F15: 2173994838,
					F16: 1085303467,
					F18: 1659981826689811090,
					F19: 61,
					F20: -19,
					F21: -7658,
					F22: 2488,
					F23: -326261542,
					F24: 912306433,
					F25: -1472564370594820179,
					F26: 5918426459813665,
					F27: 2.8385942e+08,
					F28: 1.446681e+09,
					F29: -1.5443370570096679e+09,
					F30: 3.184784041271269e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
		SourceLabel: "XList_XStructDepth2_All{{F0: {typeobject(XUnionDepth2_XStructDepth1_Int8), typeobject(XStructEmpty)}, F1: {1903587924}, F4: {-1.5720458870141203e+09, -1.9983283293632567e+07, -3.238533857464902e+07}, F5: {C}, F6: {185: 224, 250: 166, 66: 55}, F7: {1711866111: 980372964}, F8: {F0: set[XEnumBcd]{}, F3: \"Π\", F4: \"澤世\", F6: 68, F7: 84, F8: B, F9: C, F11: {Id: \"普\", Msg: \"ΘΠΣΦ王\"}, F12: {Id: \"Φ王普澤世\", RetryCode: RetryConnection}, F13: 42676, F15: 408799640, F16: 789811085, F17: 6007520861701348572, F18: 11852786787010219255, F20: -59, F21: -5651, F22: -5518, F23: 809697317, F24: 894274817, F25: -2773492329477941139, F26: 4525864791192120644, F27: 7.8164875e+06, F28: 1.4380653e+08, F29: -2.4959352516715804e+08, F32: {Id: \"Σ\", Msg: \"ΠΣΦ\"}}, F10: {F11: {}}, F11: {F29: 1.2791933776285827e+09}, F12: {}, F13: {F14: 7158}}, {F0: {typeobject(any), typeobject(XUnionDepth1_Uint32)}, F1: {750756465}, F2: {-3324, 11455, 0}, F3: {XList_String{\"世界\", \"ΘΠΣ\", \"deΔΘΠΣΦ王普澤世\"}}, F4: {2.3672634377113853e+09}, F5: {C}, F6: {122: 240, 209: 0, 95: 222}, F8: {F0: XArray2_XEnumAbc{}, F3: \"abcdeΔΘ\", F4: \"deΔΘ\", F6: 79, F7: 43, F8: B, F11: {Id: \"cdeΔΘ\", Msg: \"deΔΘΠΣΦ王普\"}, F12: {Id: \"deΔΘΠΣΦ王\", RetryCode: RetryBackoff, Msg: \"Σ\"}, F13: 63812, F14: 25390, F15: 2173994838, F16: 1085303467, F18: 1659981826689811090, F19: 61, F20: -19, F21: -7658, F22: 2488, F23: -326261542, F24: 912306433, F25: -1472564370594820179, F26: 5918426459813665, F27: 2.8385942e+08, F28: 1.446681e+09, F29: -1.5443370570096679e+09, F30: 3.184784041271269e+09, F31: {}, F32: {}}, F9: {F1: true}, F10: {F32: nil}, F12: {}}}",
		Source: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_union_305,
					__VDLType_struct_306,
				},
				F1: XArray1_Uint32{
					1903587924,
				},
				F4: map[float64]struct{}{
					-1.5720458870141203e+09: struct{}{},
					-1.9983283293632567e+07: struct{}{},
					-3.238533857464902e+07:  struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					185: 224,
					250: 166,
					66:  55,
				},
				F7: map[uint32]uint32{
					1711866111: 980372964,
				},
				F8: XStructDepth1_All{
					F0: map[XEnumBcd]struct{}(nil),
					F3: "Π",
					F4: "澤世",
					F5: vdl.AnyType,
					F6: 68,
					F7: 84,
					F8: XEnumAbcB,
					F9: XEnumBcdC,
					F11: XNamedError{
						Id:  "普",
						Msg: "ΘΠΣΦ王",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "Φ王普澤世",
						RetryCode: vdl.WireRetryCodeRetryConnection,
					}),
					F13: 42676,
					F15: 408799640,
					F16: 789811085,
					F17: 6007520861701348572,
					F18: 11852786787010219255,
					F20: -59,
					F21: -5651,
					F22: -5518,
					F23: 809697317,
					F24: 894274817,
					F25: -2773492329477941139,
					F26: 4525864791192120644,
					F27: 7.8164875e+06,
					F28: 1.4380653e+08,
					F29: -2.4959352516715804e+08,
					F32: &XNamedError{
						Id:  "Σ",
						Msg: "ΠΣΦ",
					},
				},
				F10: XUnionDepth1_AllF11{},
				F11: XUnionDepth1_Float64F29{1.2791933776285827e+09},
				F12: &XStructDepth1_XEnumBcd{},
				F13: &XStructDepth1_XUint16{
					F14: 7158,
				},
			},
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					__VDLType_union_307,
				},
				F1: XArray1_Uint32{
					750756465,
				},
				F2: []int16{
					-3324,
					11455,
					0,
				},
				F3: XList_Any{
					XList_String{
						"世界",
						"ΘΠΣ",
						"deΔΘΠΣΦ王普澤世",
					},
				},
				F4: map[float64]struct{}{
					2.3672634377113853e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdC: struct{}{},
				},
				F6: map[byte]byte{
					122: 240,
					209: 0,
					95:  222,
				},
				F8: XStructDepth1_All{
					F0: XArray2_XEnumAbc{},
					F3: "abcdeΔΘ",
					F4: "deΔΘ",
					F5: vdl.AnyType,
					F6: 79,
					F7: 43,
					F8: XEnumAbcB,
					F11: XNamedError{
						Id:  "cdeΔΘ",
						Msg: "deΔΘΠΣΦ王普",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "deΔΘΠΣΦ王",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "Σ",
					}),
					F13: 63812,
					F14: 25390,
					F15: 2173994838,
					F16: 1085303467,
					F18: 1659981826689811090,
					F19: 61,
					F20: -19,
					F21: -7658,
					F22: 2488,
					F23: -326261542,
					F24: 912306433,
					F25: -1472564370594820179,
					F26: 5918426459813665,
					F27: 2.8385942e+08,
					F28: 1.446681e+09,
					F29: -1.5443370570096679e+09,
					F30: 3.184784041271269e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth2_All{}",
		Target:      []XUnionDepth2_All(nil),
		SourceLabel: "[]XUnionDepth2_All{}",
		Source:      []XUnionDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth2_All{}",
		Target:      []XUnionDepth2_All(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]XUnionDepth2_All{}",
		Target:      []XUnionDepth2_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: []XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Source: []XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: []XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]any{XUnionDepth2_All{F13: {F28: 1.5}}}",
		Source: []interface{}{
			XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]XUnionDepth2_All{{F0: {\"e\"}}, {F0: {\"deΔΘΠ\"}}, {F10: {F14: 59623}}}",
		Target: []XUnionDepth2_All{
			XUnionDepth2_AllF0{XArray1_String{
				"e",
			}},
			XUnionDepth2_AllF0{XArray1_String{
				"deΔΘΠ",
			}},
			XUnionDepth2_AllF10{XUnionDepth1_AllF14{59623}},
		},
		SourceLabel: "[]XUnionDepth2_All{{F0: {\"e\"}}, {F0: {\"deΔΘΠ\"}}, {F10: {F14: 59623}}}",
		Source: []XUnionDepth2_All{
			XUnionDepth2_AllF0{XArray1_String{
				"e",
			}},
			XUnionDepth2_AllF0{XArray1_String{
				"deΔΘΠ",
			}},
			XUnionDepth2_AllF10{XUnionDepth1_AllF14{59623}},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]XUnionDepth2_All{{F0: {\"e\"}}, {F0: {\"deΔΘΠ\"}}, {F10: {F14: 59623}}}",
		Target: []XUnionDepth2_All{
			XUnionDepth2_AllF0{XArray1_String{
				"e",
			}},
			XUnionDepth2_AllF0{XArray1_String{
				"deΔΘΠ",
			}},
			XUnionDepth2_AllF10{XUnionDepth1_AllF14{59623}},
		},
		SourceLabel: "[]any{XUnionDepth2_All{F0: {\"e\"}}, XUnionDepth2_All{F0: {\"deΔΘΠ\"}}, XUnionDepth2_All{F10: {F14: 59623}}}",
		Source: []interface{}{
			XUnionDepth2_All(XUnionDepth2_AllF0{XArray1_String{
				"e",
			}}),
			XUnionDepth2_All(XUnionDepth2_AllF0{XArray1_String{
				"deΔΘΠ",
			}}),
			XUnionDepth2_All(XUnionDepth2_AllF10{XUnionDepth1_AllF14{59623}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth2_Set_Float64{}",
		Target:      []*XStructDepth2_Set_Float64(nil),
		SourceLabel: "[]?XStructDepth2_Set_Float64{}",
		Source:      []*XStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth2_Set_Float64{}",
		Target:      []*XStructDepth2_Set_Float64(nil),
		SourceLabel: "[]XStructDepth2_All{}",
		Source:      []XStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "[]?XStructDepth2_Set_Float64{}",
		Target:      []*XStructDepth2_Set_Float64(nil),
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Source:      XList_OptXStructDepth2_Set_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "[]?XStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: []*XStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "[]?XStructDepth2_Set_Float64{{F4: {1.5}}}",
		Source: []*XStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "[]?XStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: []*XStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "[]XStructDepth2_All{{F4: {1.5}}}",
		Source: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "[]?XStructDepth2_Set_Float64{{}}",
		Target: []*XStructDepth2_Set_Float64{
			{},
		},
		SourceLabel: "[]?XStructDepth2_Set_Float64{{}}",
		Source: []*XStructDepth2_Set_Float64{
			{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]?XStructDepth2_Set_Float64{{}}",
		Target: []*XStructDepth2_Set_Float64{
			{},
		},
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{{}}",
		Source: XList_OptXStructDepth2_Set_Float64{
			{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{}",
		Target:      XList_XArray3_XUnionDepth1_All(nil),
		SourceLabel: "XList_XArray3_XUnionDepth1_All{}",
		Source:      XList_XArray3_XUnionDepth1_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{}",
		Target:      XList_XArray3_XUnionDepth1_All(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{}",
		Target:      XList_XArray3_XUnionDepth1_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "XList_XArray3_XUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "XList_Any{XArray3_XUnionDepth1_All{{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XList_Any{
			XArray3_XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{{{F22: 924}, {F16: 2247327400}, {F30: 0}}}",
		Target: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF22{924},
				XUnionDepth1_AllF16{2247327400},
				XUnionDepth1_AllF30{},
			},
		},
		SourceLabel: "XList_XArray3_XUnionDepth1_All{{{F22: 924}, {F16: 2247327400}, {F30: 0}}}",
		Source: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF22{924},
				XUnionDepth1_AllF16{2247327400},
				XUnionDepth1_AllF30{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XArray3_XUnionDepth1_All{{{F22: 924}, {F16: 2247327400}, {F30: 0}}}",
		Target: XList_XArray3_XUnionDepth1_All{
			{
				XUnionDepth1_AllF22{924},
				XUnionDepth1_AllF16{2247327400},
				XUnionDepth1_AllF30{},
			},
		},
		SourceLabel: "[]any{XArray3_XUnionDepth1_All{{F22: 924}, {F16: 2247327400}, {F30: 0}}}",
		Source: []interface{}{
			XArray3_XUnionDepth1_All{
				XUnionDepth1_AllF22{924},
				XUnionDepth1_AllF16{2247327400},
				XUnionDepth1_AllF30{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_List_XMap_XByte_XByte{}",
		Target:      XList_List_XMap_XByte_XByte(nil),
		SourceLabel: "XList_List_XMap_XByte_XByte{}",
		Source:      XList_List_XMap_XByte_XByte(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_List_XMap_XByte_XByte{}",
		Target:      XList_List_XMap_XByte_XByte(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_List_XMap_XByte_XByte{}",
		Target:      XList_List_XMap_XByte_XByte(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_List_XMap_XByte_XByte{{{123: 123}}}",
		Target: XList_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "XList_List_XMap_XByte_XByte{{{123: 123}}}",
		Source: XList_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_List_XMap_XByte_XByte{{{123: 123}}}",
		Target: XList_List_XMap_XByte_XByte{
			{
				{
					123: 123,
				},
			},
		},
		SourceLabel: "[]any{[]XMap_XByte_XByte{{123: 123}}}",
		Source: []interface{}{
			[]XMap_XByte_XByte{
				{
					123: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_List_XMap_XByte_XByte{{{135: 168}, {175: 0}}, {{135: 104, 55: 89}, {213: 0}}, {}}",
		Target: XList_List_XMap_XByte_XByte{
			{
				{
					135: 168,
				},
				{
					175: 0,
				},
			},
			{
				{
					135: 104,
					55:  89,
				},
				{
					213: 0,
				},
			},
			nil,
		},
		SourceLabel: "XList_List_XMap_XByte_XByte{{{135: 168}, {175: 0}}, {{135: 104, 55: 89}, {213: 0}}, {}}",
		Source: XList_List_XMap_XByte_XByte{
			{
				{
					135: 168,
				},
				{
					175: 0,
				},
			},
			{
				{
					135: 104,
					55:  89,
				},
				{
					213: 0,
				},
			},
			nil,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_List_XMap_XByte_XByte{{{135: 168}, {175: 0}}, {{135: 104, 55: 89}, {213: 0}}, {}}",
		Target: XList_List_XMap_XByte_XByte{
			{
				{
					135: 168,
				},
				{
					175: 0,
				},
			},
			{
				{
					135: 104,
					55:  89,
				},
				{
					213: 0,
				},
			},
			nil,
		},
		SourceLabel: "[]any{[]XMap_XByte_XByte{{135: 168}, {175: 0}}, []XMap_XByte_XByte{{135: 104, 55: 89}, {213: 0}}, []XMap_XByte_XByte{}}",
		Source: []interface{}{
			[]XMap_XByte_XByte{
				{
					135: 168,
				},
				{
					175: 0,
				},
			},
			[]XMap_XByte_XByte{
				{
					135: 104,
					55:  89,
				},
				{
					213: 0,
				},
			},
			[]XMap_XByte_XByte(nil),
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XSet_XArray1_XStructEmpty{}",
		Target:      XList_XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "XList_XSet_XArray1_XStructEmpty{}",
		Source:      XList_XSet_XArray1_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XSet_XArray1_XStructEmpty{}",
		Target:      XList_XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XSet_XArray1_XStructEmpty{}",
		Target:      XList_XSet_XArray1_XStructEmpty(nil),
		SourceLabel: "[]XSet_XArray1_XStructEmpty{}",
		Source:      []XSet_XArray1_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XSet_XArray1_XStructEmpty{{{}}}",
		Target: XList_XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "XList_XSet_XArray1_XStructEmpty{{{}}}",
		Source: XList_XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XSet_XArray1_XStructEmpty{{{}}}",
		Target: XList_XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
		SourceLabel: "[]XSet_XArray1_XStructEmpty{{{}}}",
		Source: []XSet_XArray1_XStructEmpty{
			{
				{}: struct{}{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      XList_XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{}",
		Source:      XList_XMap_XArray3_XBool_XArray3_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      XList_XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "[]XMap_XArray3_XBool_XArray3_XBool{}",
		Source:      []XMap_XArray3_XBool_XArray3_XBool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{}",
		Target:      XList_XMap_XArray3_XBool_XArray3_XBool(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Target: XList_XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Source: XList_XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XMap_XArray3_XBool_XArray3_XBool{{{true, true, true}: {true, true, true}}}",
		Target: XList_XMap_XArray3_XBool_XArray3_XBool{
			{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
		SourceLabel: "XList_Any{XMap_XArray3_XBool_XArray3_XBool{{true, true, true}: {true, true, true}}}",
		Source: XList_Any{
			XMap_XArray3_XBool_XArray3_XBool{
				{
					true,
					true,
					true,
				}: {
					true,
					true,
					true,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth2_All{}",
		Target:      XList_XStructDepth2_All(nil),
		SourceLabel: "XList_XStructDepth2_All{}",
		Source:      XList_XStructDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth2_All{}",
		Target:      XList_XStructDepth2_All(nil),
		SourceLabel: "[]?XStructDepth2_Set_Float64{}",
		Source:      []*XStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XStructDepth2_All{}",
		Target:      XList_XStructDepth2_All(nil),
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Source:      XList_OptXStructDepth2_Set_Float64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "XList_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "[]XStructDepth2_All{{F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: []XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XStructDepth2_All{{F0: {typeobject(XList_Any), typeobject(any)}, F3: {set[XStructDepth1_String]{}, map[XNamedError]XNamedError{{Msg: \"abcdeΔΘΠΣΦ王普澤世\"}: {Msg: \"ΣΦ王普澤\"}, {Id: \"c\", Msg: \"王普澤世\"}: {Id: \"cdeΔ\", Msg: \"deΔΘΠ\"}}, XArray3_Int64{3524922562280960580, -3424085360776393001, 2800105892874757207}}, F4: {1.9667025630643923e+07, 3.4260743001183236e+08}, F5: {B, C, D}, F8: {F0: XUnionDepth2_XList_XByte{F2: \"\"}, F3: \"bcdeΔΘΠ\", F4: \"bcdeΔΘΠ\", F5: typeobject(XStructDepth1_XInt32), F6: 245, F7: 79, F9: C, F11: {Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"澤\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普\"}, F13: 13338, F15: 1595831042, F17: 12664678767883708255, F18: 11469846635179244384, F19: -42, F20: 49, F21: -10203, F22: 6599, F23: -942155461, F25: -898155845020684027, F27: -2.3450837e+08, F28: -1.7266627e+08, F29: 1.3545475352214177e+09, F30: 4.924317476725453e+08, F31: {}, F32: {Id: \"b\", Msg: \"ΣΦ王普澤\"}}, F9: {F1: true}, F12: {}}}",
		Target: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_list_308,
					vdl.AnyType,
				},
				F3: XList_Any{
					map[XStructDepth1_String]struct{}(nil),
					map[XNamedError]XNamedError{
						{
							Msg: "abcdeΔΘΠΣΦ王普澤世",
						}: {
							Msg: "ΣΦ王普澤",
						},
						{
							Id:  "c",
							Msg: "王普澤世",
						}: {
							Id:  "cdeΔ",
							Msg: "deΔΘΠ",
						},
					},
					XArray3_Int64{
						3524922562280960580,
						-3424085360776393001,
						2800105892874757207,
					},
				},
				F4: map[float64]struct{}{
					1.9667025630643923e+07: struct{}{},
					3.4260743001183236e+08: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
				F8: XStructDepth1_All{
					F0: XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
					F3: "bcdeΔΘΠ",
					F4: "bcdeΔΘΠ",
					F5: __VDLType_struct_309,
					F6: 245,
					F7: 79,
					F9: XEnumBcdC,
					F11: XNamedError{
						Msg: "bcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "bcdeΔΘΠΣΦ王普",
					}),
					F13: 13338,
					F15: 1595831042,
					F17: 12664678767883708255,
					F18: 11469846635179244384,
					F19: -42,
					F20: 49,
					F21: -10203,
					F22: 6599,
					F23: -942155461,
					F25: -898155845020684027,
					F27: -2.3450837e+08,
					F28: -1.7266627e+08,
					F29: 1.3545475352214177e+09,
					F30: 4.924317476725453e+08,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "b",
						Msg: "ΣΦ王普澤",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
		SourceLabel: "XList_XStructDepth2_All{{F0: {typeobject(XList_Any), typeobject(any)}, F3: {set[XStructDepth1_String]{}, map[XNamedError]XNamedError{{Msg: \"abcdeΔΘΠΣΦ王普澤世\"}: {Msg: \"ΣΦ王普澤\"}, {Id: \"c\", Msg: \"王普澤世\"}: {Id: \"cdeΔ\", Msg: \"deΔΘΠ\"}}, XArray3_Int64{3524922562280960580, -3424085360776393001, 2800105892874757207}}, F4: {1.9667025630643923e+07, 3.4260743001183236e+08}, F5: {B, C, D}, F8: {F0: XUnionDepth2_XList_XByte{F2: \"\"}, F3: \"bcdeΔΘΠ\", F4: \"bcdeΔΘΠ\", F5: typeobject(XStructDepth1_XInt32), F6: 245, F7: 79, F9: C, F11: {Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"澤\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普\"}, F13: 13338, F15: 1595831042, F17: 12664678767883708255, F18: 11469846635179244384, F19: -42, F20: 49, F21: -10203, F22: 6599, F23: -942155461, F25: -898155845020684027, F27: -2.3450837e+08, F28: -1.7266627e+08, F29: 1.3545475352214177e+09, F30: 4.924317476725453e+08, F31: {}, F32: {Id: \"b\", Msg: \"ΣΦ王普澤\"}}, F9: {F1: true}, F12: {}}}",
		Source: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_list_308,
					vdl.AnyType,
				},
				F3: XList_Any{
					map[XStructDepth1_String]struct{}(nil),
					map[XNamedError]XNamedError{
						{
							Msg: "abcdeΔΘΠΣΦ王普澤世",
						}: {
							Msg: "ΣΦ王普澤",
						},
						{
							Id:  "c",
							Msg: "王普澤世",
						}: {
							Id:  "cdeΔ",
							Msg: "deΔΘΠ",
						},
					},
					XArray3_Int64{
						3524922562280960580,
						-3424085360776393001,
						2800105892874757207,
					},
				},
				F4: map[float64]struct{}{
					1.9667025630643923e+07: struct{}{},
					3.4260743001183236e+08: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
				F8: XStructDepth1_All{
					F0: XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
					F3: "bcdeΔΘΠ",
					F4: "bcdeΔΘΠ",
					F5: __VDLType_struct_309,
					F6: 245,
					F7: 79,
					F9: XEnumBcdC,
					F11: XNamedError{
						Msg: "bcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "bcdeΔΘΠΣΦ王普",
					}),
					F13: 13338,
					F15: 1595831042,
					F17: 12664678767883708255,
					F18: 11469846635179244384,
					F19: -42,
					F20: 49,
					F21: -10203,
					F22: 6599,
					F23: -942155461,
					F25: -898155845020684027,
					F27: -2.3450837e+08,
					F28: -1.7266627e+08,
					F29: 1.3545475352214177e+09,
					F30: 4.924317476725453e+08,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "b",
						Msg: "ΣΦ王普澤",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XStructDepth2_All{{F0: {typeobject(XList_Any), typeobject(any)}, F3: {set[XStructDepth1_String]{}, map[XNamedError]XNamedError{{Msg: \"abcdeΔΘΠΣΦ王普澤世\"}: {Msg: \"ΣΦ王普澤\"}, {Id: \"c\", Msg: \"王普澤世\"}: {Id: \"cdeΔ\", Msg: \"deΔΘΠ\"}}, XArray3_Int64{3524922562280960580, -3424085360776393001, 2800105892874757207}}, F4: {1.9667025630643923e+07, 3.4260743001183236e+08}, F5: {B, C, D}, F8: {F0: XUnionDepth2_XList_XByte{F2: \"\"}, F3: \"bcdeΔΘΠ\", F4: \"bcdeΔΘΠ\", F5: typeobject(XStructDepth1_XInt32), F6: 245, F7: 79, F9: C, F11: {Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"澤\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普\"}, F13: 13338, F15: 1595831042, F17: 12664678767883708255, F18: 11469846635179244384, F19: -42, F20: 49, F21: -10203, F22: 6599, F23: -942155461, F25: -898155845020684027, F27: -2.3450837e+08, F28: -1.7266627e+08, F29: 1.3545475352214177e+09, F30: 4.924317476725453e+08, F31: {}, F32: {Id: \"b\", Msg: \"ΣΦ王普澤\"}}, F9: {F1: true}, F12: {}}}",
		Target: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					__VDLType_list_308,
					vdl.AnyType,
				},
				F3: XList_Any{
					map[XStructDepth1_String]struct{}(nil),
					map[XNamedError]XNamedError{
						{
							Msg: "abcdeΔΘΠΣΦ王普澤世",
						}: {
							Msg: "ΣΦ王普澤",
						},
						{
							Id:  "c",
							Msg: "王普澤世",
						}: {
							Id:  "cdeΔ",
							Msg: "deΔΘΠ",
						},
					},
					XArray3_Int64{
						3524922562280960580,
						-3424085360776393001,
						2800105892874757207,
					},
				},
				F4: map[float64]struct{}{
					1.9667025630643923e+07: struct{}{},
					3.4260743001183236e+08: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
				F8: XStructDepth1_All{
					F0: XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
					F3: "bcdeΔΘΠ",
					F4: "bcdeΔΘΠ",
					F5: __VDLType_struct_309,
					F6: 245,
					F7: 79,
					F9: XEnumBcdC,
					F11: XNamedError{
						Msg: "bcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "bcdeΔΘΠΣΦ王普",
					}),
					F13: 13338,
					F15: 1595831042,
					F17: 12664678767883708255,
					F18: 11469846635179244384,
					F19: -42,
					F20: 49,
					F21: -10203,
					F22: 6599,
					F23: -942155461,
					F25: -898155845020684027,
					F27: -2.3450837e+08,
					F28: -1.7266627e+08,
					F29: 1.3545475352214177e+09,
					F30: 4.924317476725453e+08,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "b",
						Msg: "ΣΦ王普澤",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
		SourceLabel: "XList_Any{XStructDepth2_All{F0: {typeobject(XList_Any), typeobject(any)}, F3: {set[XStructDepth1_String]{}, map[XNamedError]XNamedError{{Msg: \"abcdeΔΘΠΣΦ王普澤世\"}: {Msg: \"ΣΦ王普澤\"}, {Id: \"c\", Msg: \"王普澤世\"}: {Id: \"cdeΔ\", Msg: \"deΔΘΠ\"}}, XArray3_Int64{3524922562280960580, -3424085360776393001, 2800105892874757207}}, F4: {1.9667025630643923e+07, 3.4260743001183236e+08}, F5: {B, C, D}, F8: {F0: XUnionDepth2_XList_XByte{F2: \"\"}, F3: \"bcdeΔΘΠ\", F4: \"bcdeΔΘΠ\", F5: typeobject(XStructDepth1_XInt32), F6: 245, F7: 79, F9: C, F11: {Msg: \"bcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"澤\", RetryCode: RetryBackoff, Msg: \"bcdeΔΘΠΣΦ王普\"}, F13: 13338, F15: 1595831042, F17: 12664678767883708255, F18: 11469846635179244384, F19: -42, F20: 49, F21: -10203, F22: 6599, F23: -942155461, F25: -898155845020684027, F27: -2.3450837e+08, F28: -1.7266627e+08, F29: 1.3545475352214177e+09, F30: 4.924317476725453e+08, F31: {}, F32: {Id: \"b\", Msg: \"ΣΦ王普澤\"}}, F9: {F1: true}, F12: {}}}",
		Source: XList_Any{
			XStructDepth2_All{
				F0: XArray2_TypeObject{
					__VDLType_list_308,
					vdl.AnyType,
				},
				F3: XList_Any{
					map[XStructDepth1_String]struct{}(nil),
					map[XNamedError]XNamedError{
						{
							Msg: "abcdeΔΘΠΣΦ王普澤世",
						}: {
							Msg: "ΣΦ王普澤",
						},
						{
							Id:  "c",
							Msg: "王普澤世",
						}: {
							Id:  "cdeΔ",
							Msg: "deΔΘΠ",
						},
					},
					XArray3_Int64{
						3524922562280960580,
						-3424085360776393001,
						2800105892874757207,
					},
				},
				F4: map[float64]struct{}{
					1.9667025630643923e+07: struct{}{},
					3.4260743001183236e+08: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
				F8: XStructDepth1_All{
					F0: XUnionDepth2_XList_XByte(XUnionDepth2_XList_XByteF2{}),
					F3: "bcdeΔΘΠ",
					F4: "bcdeΔΘΠ",
					F5: __VDLType_struct_309,
					F6: 245,
					F7: 79,
					F9: XEnumBcdC,
					F11: XNamedError{
						Msg: "bcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "澤",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "bcdeΔΘΠΣΦ王普",
					}),
					F13: 13338,
					F15: 1595831042,
					F17: 12664678767883708255,
					F18: 11469846635179244384,
					F19: -42,
					F20: 49,
					F21: -10203,
					F22: 6599,
					F23: -942155461,
					F25: -898155845020684027,
					F27: -2.3450837e+08,
					F28: -1.7266627e+08,
					F29: 1.3545475352214177e+09,
					F30: 4.924317476725453e+08,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "b",
						Msg: "ΣΦ王普澤",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth2_All{}",
		Target:      XList_XUnionDepth2_All(nil),
		SourceLabel: "XList_XUnionDepth2_All{}",
		Source:      XList_XUnionDepth2_All(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth2_All{}",
		Target:      XList_XUnionDepth2_All(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_XUnionDepth2_All{}",
		Target:      XList_XUnionDepth2_All(nil),
		SourceLabel: "XList_Any{}",
		Source:      XList_Any(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: XList_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "XList_XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Source: XList_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_XUnionDepth2_All{{F13: {F28: 1.5}}}",
		Target: XList_XUnionDepth2_All{
			XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "[]any{XUnionDepth2_All{F13: {F28: 1.5}}}",
		Source: []interface{}{
			XUnionDepth2_All(XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}}),
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_XUnionDepth2_All{{F7: {}}, {F10: {F0: nil}}, {F9: {}}}",
		Target: XList_XUnionDepth2_All{
			XUnionDepth2_AllF7{},
			XUnionDepth2_AllF10{XUnionDepth1_AllF0{}},
			XUnionDepth2_AllF9{},
		},
		SourceLabel: "XList_XUnionDepth2_All{{F7: {}}, {F10: {F0: nil}}, {F9: {}}}",
		Source: XList_XUnionDepth2_All{
			XUnionDepth2_AllF7{},
			XUnionDepth2_AllF10{XUnionDepth1_AllF0{}},
			XUnionDepth2_AllF9{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_XUnionDepth2_All{{F7: {}}, {F10: {F0: nil}}, {F9: {}}}",
		Target: XList_XUnionDepth2_All{
			XUnionDepth2_AllF7{},
			XUnionDepth2_AllF10{XUnionDepth1_AllF0{}},
			XUnionDepth2_AllF9{},
		},
		SourceLabel: "[]XUnionDepth2_All{{F7: {}}, {F10: {F0: nil}}, {F9: {}}}",
		Source: []XUnionDepth2_All{
			XUnionDepth2_AllF7{},
			XUnionDepth2_AllF10{XUnionDepth1_AllF0{}},
			XUnionDepth2_AllF9{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Target:      XList_OptXStructDepth2_Set_Float64(nil),
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Source:      XList_OptXStructDepth2_Set_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Target:      XList_OptXStructDepth2_Set_Float64(nil),
		SourceLabel: "XList_OptXStructEmpty{}",
		Source:      XList_OptXStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{}",
		Target:      XList_OptXStructDepth2_Set_Float64(nil),
		SourceLabel: "[]any{}",
		Source:      []interface{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.5}}}",
		Source: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.5}}}",
		Target: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XList_XStructDepth2_All{{F4: {1.5}}}",
		Source: XList_XStructDepth2_All{
			{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.0780494803258038e+09}}}",
		Target: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.0780494803258038e+09: struct{}{},
				},
			},
		},
		SourceLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.0780494803258038e+09}}}",
		Source: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.0780494803258038e+09: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_OptXStructDepth2_Set_Float64{{F4: {1.0780494803258038e+09}}}",
		Target: XList_OptXStructDepth2_Set_Float64{
			{
				F4: map[float64]struct{}{
					1.0780494803258038e+09: struct{}{},
				},
			},
		},
		SourceLabel: "[]any{?XStructDepth2_Set_Float64{F4: {1.0780494803258038e+09}}}",
		Source: []interface{}{
			&XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.0780494803258038e+09: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XArray1_XArray3_Int64]{}",
		Target:      map[XArray1_XArray3_Int64]struct{}(nil),
		SourceLabel: "set[XArray1_XArray3_Int64]{}",
		Source:      map[XArray1_XArray3_Int64]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XArray1_XArray3_Int64]{}",
		Target:      map[XArray1_XArray3_Int64]struct{}(nil),
		SourceLabel: "XSet_XArray1_XArray3_Int64{}",
		Source:      XSet_XArray1_XArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XArray1_XArray3_Int64]{{{-123, -123, -123}}}",
		Target: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XArray1_XArray3_Int64]{{{-123, -123, -123}}}",
		Source: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XArray1_XArray3_Int64]{{{-123, -123, -123}}}",
		Target: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XArray1_XArray3_Int64{{{-123, -123, -123}}}",
		Source: XSet_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XArray1_XArray3_Int64]{{{0, 948696848856180951, -410485718848228531}}, {{818672935806784812, -4040637540944211339, -1850373240560994483}}}",
		Target: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					0,
					948696848856180951,
					-410485718848228531,
				},
			}: struct{}{},
			{
				{
					818672935806784812,
					-4040637540944211339,
					-1850373240560994483,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XArray1_XArray3_Int64]{{{0, 948696848856180951, -410485718848228531}}, {{818672935806784812, -4040637540944211339, -1850373240560994483}}}",
		Source: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					0,
					948696848856180951,
					-410485718848228531,
				},
			}: struct{}{},
			{
				{
					818672935806784812,
					-4040637540944211339,
					-1850373240560994483,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[XArray1_XArray3_Int64]{{{0, 948696848856180951, -410485718848228531}}, {{818672935806784812, -4040637540944211339, -1850373240560994483}}}",
		Target: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					0,
					948696848856180951,
					-410485718848228531,
				},
			}: struct{}{},
			{
				{
					818672935806784812,
					-4040637540944211339,
					-1850373240560994483,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XArray1_XArray3_Int64{{{0, 948696848856180951, -410485718848228531}}, {{818672935806784812, -4040637540944211339, -1850373240560994483}}}",
		Source: XSet_XArray1_XArray3_Int64{
			{
				{
					0,
					948696848856180951,
					-410485718848228531,
				},
			}: struct{}{},
			{
				{
					818672935806784812,
					-4040637540944211339,
					-1850373240560994483,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XStructDepth2_XStructDepth1_Bool]{}",
		Target:      map[XStructDepth2_XStructDepth1_Bool]struct{}(nil),
		SourceLabel: "set[XStructDepth2_XStructDepth1_Bool]{}",
		Source:      map[XStructDepth2_XStructDepth1_Bool]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructDepth2_XStructDepth1_Bool]{}",
		Target:      map[XStructDepth2_XStructDepth1_Bool]struct{}(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XStructDepth2_XStructDepth1_Bool]{}",
		Target:      map[XStructDepth2_XStructDepth1_Bool]struct{}(nil),
		SourceLabel: "XSet_XStructDepth2_XStructDepth1_Bool{}",
		Source:      XSet_XStructDepth2_XStructDepth1_Bool(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XStructDepth2_XStructDepth1_Bool]{{F9: {F1: true}}}",
		Target: map[XStructDepth2_XStructDepth1_Bool]struct{}{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XStructDepth2_XStructDepth1_Bool]{{F9: {F1: true}}}",
		Source: map[XStructDepth2_XStructDepth1_Bool]struct{}{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XStructDepth2_XStructDepth1_Bool]{{F9: {F1: true}}}",
		Target: map[XStructDepth2_XStructDepth1_Bool]struct{}{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XStructDepth2_XStructDepth1_Bool{{F9: {F1: true}}}",
		Source: XSet_XStructDepth2_XStructDepth1_Bool{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{}",
		Target:      map[XUnionDepth2_XArray1_String]struct{}(nil),
		SourceLabel: "set[XUnionDepth2_XArray1_String]{}",
		Source:      map[XUnionDepth2_XArray1_String]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{}",
		Target:      map[XUnionDepth2_XArray1_String]struct{}(nil),
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{}",
		Source:      XSet_XUnionDepth2_XArray1_String(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth2_XArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{{F0: {}}}",
		Target: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth2_XArray1_String]{{F0: {}}}",
		Source: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "set[XUnionDepth2_XArray1_String]{{F0: {}}}",
		Target: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {}}}",
		Source: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XArray1_XArray3_Int64{}",
		Target:      XSet_XArray1_XArray3_Int64(nil),
		SourceLabel: "XSet_XArray1_XArray3_Int64{}",
		Source:      XSet_XArray1_XArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XArray1_XArray3_Int64{}",
		Target:      XSet_XArray1_XArray3_Int64(nil),
		SourceLabel: "set[XArray1_XArray3_Int64]{}",
		Source:      map[XArray1_XArray3_Int64]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XArray1_XArray3_Int64{{{-123, -123, -123}}}",
		Target: XSet_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XArray1_XArray3_Int64{{{-123, -123, -123}}}",
		Source: XSet_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XArray1_XArray3_Int64{{{-123, -123, -123}}}",
		Target: XSet_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XArray1_XArray3_Int64]{{{-123, -123, -123}}}",
		Source: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					-123,
					-123,
					-123,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XArray1_XArray3_Int64{{{-447057443590709381, 698506354811037918, -411202985819738107}}, {{-4477380931730073524, -3870291943442070151, 0}}}",
		Target: XSet_XArray1_XArray3_Int64{
			{
				{
					-447057443590709381,
					698506354811037918,
					-411202985819738107,
				},
			}: struct{}{},
			{
				{
					-4477380931730073524,
					-3870291943442070151,
					0,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XArray1_XArray3_Int64{{{-447057443590709381, 698506354811037918, -411202985819738107}}, {{-4477380931730073524, -3870291943442070151, 0}}}",
		Source: XSet_XArray1_XArray3_Int64{
			{
				{
					-447057443590709381,
					698506354811037918,
					-411202985819738107,
				},
			}: struct{}{},
			{
				{
					-4477380931730073524,
					-3870291943442070151,
					0,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XArray1_XArray3_Int64{{{-447057443590709381, 698506354811037918, -411202985819738107}}, {{-4477380931730073524, -3870291943442070151, 0}}}",
		Target: XSet_XArray1_XArray3_Int64{
			{
				{
					-447057443590709381,
					698506354811037918,
					-411202985819738107,
				},
			}: struct{}{},
			{
				{
					-4477380931730073524,
					-3870291943442070151,
					0,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XArray1_XArray3_Int64]{{{-447057443590709381, 698506354811037918, -411202985819738107}}, {{-4477380931730073524, -3870291943442070151, 0}}}",
		Source: map[XArray1_XArray3_Int64]struct{}{
			{
				{
					-447057443590709381,
					698506354811037918,
					-411202985819738107,
				},
			}: struct{}{},
			{
				{
					-4477380931730073524,
					-3870291943442070151,
					0,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth2_XStructDepth1_Bool{}",
		Target:      XSet_XStructDepth2_XStructDepth1_Bool(nil),
		SourceLabel: "XSet_XStructDepth2_XStructDepth1_Bool{}",
		Source:      XSet_XStructDepth2_XStructDepth1_Bool(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth2_XStructDepth1_Bool{}",
		Target:      XSet_XStructDepth2_XStructDepth1_Bool(nil),
		SourceLabel: "set[XStructEmpty]{}",
		Source:      map[XStructEmpty]struct{}(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XStructDepth2_XStructDepth1_Bool{}",
		Target:      XSet_XStructDepth2_XStructDepth1_Bool(nil),
		SourceLabel: "set[XStructDepth2_XStructDepth1_Bool]{}",
		Source:      map[XStructDepth2_XStructDepth1_Bool]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XStructDepth2_XStructDepth1_Bool{{F9: {F1: true}}}",
		Target: XSet_XStructDepth2_XStructDepth1_Bool{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "XSet_XStructDepth2_XStructDepth1_Bool{{F9: {F1: true}}}",
		Source: XSet_XStructDepth2_XStructDepth1_Bool{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XStructDepth2_XStructDepth1_Bool{{F9: {F1: true}}}",
		Target: XSet_XStructDepth2_XStructDepth1_Bool{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
		SourceLabel: "set[XStructDepth2_XStructDepth1_Bool]{{F9: {F1: true}}}",
		Source: map[XStructDepth2_XStructDepth1_Bool]struct{}{
			{
				F9: XStructDepth1_Bool{
					F1: true,
				},
			}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{}",
		Target:      XSet_XUnionDepth2_XArray1_String(nil),
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{}",
		Source:      XSet_XUnionDepth2_XArray1_String(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{}",
		Target:      XSet_XUnionDepth2_XArray1_String(nil),
		SourceLabel: "set[XUnionDepth2_XArray1_String]{}",
		Source:      map[XUnionDepth2_XArray1_String]struct{}(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth2_XArray1_String]{{F0: {\"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"abcdeΔΘΠΣΦ王普澤世界",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"eΔΘ\"}}}",
		Target: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"eΔΘ",
			}}: struct{}{},
		},
		SourceLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"eΔΘ\"}}}",
		Source: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"eΔΘ",
			}}: struct{}{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XSet_XUnionDepth2_XArray1_String{{F0: {\"eΔΘ\"}}}",
		Target: XSet_XUnionDepth2_XArray1_String{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"eΔΘ",
			}}: struct{}{},
		},
		SourceLabel: "set[XUnionDepth2_XArray1_String]{{F0: {\"eΔΘ\"}}}",
		Source: map[XUnionDepth2_XArray1_String]struct{}{
			XUnionDepth2_XArray1_StringF0{XArray1_String{
				"eΔΘ",
			}}: struct{}{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{}",
		Target:      map[XArray1_XArray3_Int64]XArray1_XArray3_Int64(nil),
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{}",
		Source:      map[XArray1_XArray3_Int64]XArray1_XArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{}",
		Target:      map[XArray1_XArray3_Int64]XArray1_XArray3_Int64(nil),
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{}",
		Source:      XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-1370552536671486543, 1080764377456477673, 1074732654233892263}}: {}, {{0, 3045721580144556079, -2691458353857424482}}: {{2459091982784411478, 0, -2546543299471158740}}, {{1221608626390247487, -2614294925927142920, 4431410242634908452}}: {}}",
		Target: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-1370552536671486543,
					1080764377456477673,
					1074732654233892263,
				},
			}: {},
			{
				{
					0,
					3045721580144556079,
					-2691458353857424482,
				},
			}: {
				{
					2459091982784411478,
					0,
					-2546543299471158740,
				},
			},
			{
				{
					1221608626390247487,
					-2614294925927142920,
					4431410242634908452,
				},
			}: {},
		},
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-1370552536671486543, 1080764377456477673, 1074732654233892263}}: {}, {{0, 3045721580144556079, -2691458353857424482}}: {{2459091982784411478, 0, -2546543299471158740}}, {{1221608626390247487, -2614294925927142920, 4431410242634908452}}: {}}",
		Source: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-1370552536671486543,
					1080764377456477673,
					1074732654233892263,
				},
			}: {},
			{
				{
					0,
					3045721580144556079,
					-2691458353857424482,
				},
			}: {
				{
					2459091982784411478,
					0,
					-2546543299471158740,
				},
			},
			{
				{
					1221608626390247487,
					-2614294925927142920,
					4431410242634908452,
				},
			}: {},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-1370552536671486543, 1080764377456477673, 1074732654233892263}}: {}, {{0, 3045721580144556079, -2691458353857424482}}: {{2459091982784411478, 0, -2546543299471158740}}, {{1221608626390247487, -2614294925927142920, 4431410242634908452}}: {}}",
		Target: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-1370552536671486543,
					1080764377456477673,
					1074732654233892263,
				},
			}: {},
			{
				{
					0,
					3045721580144556079,
					-2691458353857424482,
				},
			}: {
				{
					2459091982784411478,
					0,
					-2546543299471158740,
				},
			},
			{
				{
					1221608626390247487,
					-2614294925927142920,
					4431410242634908452,
				},
			}: {},
		},
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-1370552536671486543, 1080764377456477673, 1074732654233892263}}: {}, {{0, 3045721580144556079, -2691458353857424482}}: {{2459091982784411478, 0, -2546543299471158740}}, {{1221608626390247487, -2614294925927142920, 4431410242634908452}}: {}}",
		Source: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-1370552536671486543,
					1080764377456477673,
					1074732654233892263,
				},
			}: {},
			{
				{
					0,
					3045721580144556079,
					-2691458353857424482,
				},
			}: {
				{
					2459091982784411478,
					0,
					-2546543299471158740,
				},
			},
			{
				{
					1221608626390247487,
					-2614294925927142920,
					4431410242634908452,
				},
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{}",
		Target:      map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64(nil),
		SourceLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{}",
		Source:      map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{}",
		Target:      map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64(nil),
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Source:      XMap_XStructEmpty_XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{}",
		Target:      map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{F11: {F29: 1.5}}: {F11: {F29: 1.5}}}",
		Target: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{1.5},
			}: {
				F11: XUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{F11: {F29: 1.5}}: {F11: {F29: 1.5}}}",
		Source: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{1.5},
			}: {
				F11: XUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{}: {}}",
		Target: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{},
			}: {
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{}: {}}",
		Source: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{},
			}: {
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{{}: {}}",
		Target: map[XStructDepth2_XUnionDepth1_Float64]XStructDepth2_XUnionDepth1_Float64{
			{
				F11: XUnionDepth1_Float64F29{},
			}: {
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{{}: {}}",
		Source: XMap_XStructEmpty_XStructEmpty{
			{}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{}",
		Target:      map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8(nil),
		SourceLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{}",
		Source:      map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{{F9: {F19: -123}}: {F9: {F19: -123}}}",
		Target: map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{
			XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -123,
			}}: XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -123,
			}},
		},
		SourceLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{{F9: {F19: -123}}: {F9: {F19: -123}}}",
		Source: map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{
			XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -123,
			}}: XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -123,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{{F9: {}}: {F9: {F19: -13}}}",
		Target: map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{
			XUnionDepth2_XStructDepth1_Int8F9{}: XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -13,
			}},
		},
		SourceLabel: "map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{{F9: {}}: {F9: {F19: -13}}}",
		Source: map[XUnionDepth2_XStructDepth1_Int8]XUnionDepth2_XStructDepth1_Int8{
			XUnionDepth2_XStructDepth1_Int8F9{}: XUnionDepth2_XStructDepth1_Int8F9{XStructDepth1_Int8{
				F19: -13,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{}",
		Target:      XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64(nil),
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{}",
		Source:      XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{}",
		Target:      XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64(nil),
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{}",
		Source:      map[XArray1_XArray3_Int64]XArray1_XArray3_Int64(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Target: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-123, -123, -123}}: {{-123, -123, -123}}}",
		Source: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-123,
					-123,
					-123,
				},
			}: {
				{
					-123,
					-123,
					-123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-3869501258035372809, -3686427825087562033, 2336951289288876778}}: {}, {}: {{-3950287420529183877, -3629810858565318855, 4256249491436161541}}}",
		Target: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-3869501258035372809,
					-3686427825087562033,
					2336951289288876778,
				},
			}: {},
			{}: {
				{
					-3950287420529183877,
					-3629810858565318855,
					4256249491436161541,
				},
			},
		},
		SourceLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-3869501258035372809, -3686427825087562033, 2336951289288876778}}: {}, {}: {{-3950287420529183877, -3629810858565318855, 4256249491436161541}}}",
		Source: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-3869501258035372809,
					-3686427825087562033,
					2336951289288876778,
				},
			}: {},
			{}: {
				{
					-3950287420529183877,
					-3629810858565318855,
					4256249491436161541,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{{{-3869501258035372809, -3686427825087562033, 2336951289288876778}}: {}, {}: {{-3950287420529183877, -3629810858565318855, 4256249491436161541}}}",
		Target: XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64{
			{
				{
					-3869501258035372809,
					-3686427825087562033,
					2336951289288876778,
				},
			}: {},
			{}: {
				{
					-3950287420529183877,
					-3629810858565318855,
					4256249491436161541,
				},
			},
		},
		SourceLabel: "map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{{{-3869501258035372809, -3686427825087562033, 2336951289288876778}}: {}, {}: {{-3950287420529183877, -3629810858565318855, 4256249491436161541}}}",
		Source: map[XArray1_XArray3_Int64]XArray1_XArray3_Int64{
			{
				{
					-3869501258035372809,
					-3686427825087562033,
					2336951289288876778,
				},
			}: {},
			{}: {
				{
					-3950287420529183877,
					-3629810858565318855,
					4256249491436161541,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{}",
		Target:      XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32(nil),
		SourceLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{}",
		Source:      XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{}",
		Target:      XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32(nil),
		SourceLabel: "map[XStructEmpty]XStructEmpty{}",
		Source:      map[XStructEmpty]XStructEmpty(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{}",
		Target:      XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32(nil),
		SourceLabel: "XMap_XStructEmpty_XStructEmpty{}",
		Source:      XMap_XStructEmpty_XStructEmpty(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{{F1: {123}}: {F1: {123}}}",
		Target: XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{
			{
				F1: XArray1_Uint32{
					123,
				},
			}: {
				F1: XArray1_Uint32{
					123,
				},
			},
		},
		SourceLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{{F1: {123}}: {F1: {123}}}",
		Source: XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{
			{
				F1: XArray1_Uint32{
					123,
				},
			}: {
				F1: XArray1_Uint32{
					123,
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{{}: {}, {F1: {3168261590}}: {}}",
		Target: XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{
			{}: {},
			{
				F1: XArray1_Uint32{
					3168261590,
				},
			}: {},
		},
		SourceLabel: "XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{{}: {}, {F1: {3168261590}}: {}}",
		Source: XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32{
			{}: {},
			{
				F1: XArray1_Uint32{
					3168261590,
				},
			}: {},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{}",
		Target:      XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte(nil),
		SourceLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{}",
		Source:      XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte(nil),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"{{\"}: {F1: \"{{\"}}",
		Target: XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
			XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				123,
				123,
			}}: XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				123,
				123,
			}},
		},
		SourceLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"{{\"}: {F1: \"{{\"}}",
		Source: XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
			XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				123,
				123,
			}}: XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				123,
				123,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x00\\x00\"}: {F1: \"\\x00\\x00\"}, {F1: \"\\x95\\xce\"}: {F1: \"\\x00\\x00\"}}",
		Target: XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
			XUnionDepth2_XArray2_XByteF1{}: XUnionDepth2_XArray2_XByteF1{},
			XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				149,
				206,
			}}: XUnionDepth2_XArray2_XByteF1{},
		},
		SourceLabel: "XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{{F1: \"\\x00\\x00\"}: {F1: \"\\x00\\x00\"}, {F1: \"\\x95\\xce\"}: {F1: \"\\x00\\x00\"}}",
		Source: XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte{
			XUnionDepth2_XArray2_XByteF1{}: XUnionDepth2_XArray2_XByteF1{},
			XUnionDepth2_XArray2_XByteF1{XArray2_XByte{
				149,
				206,
			}}: XUnionDepth2_XArray2_XByteF1{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_All{}",
		Target: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructDepth3_All{}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_All{}",
		Target: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{}",
		Source:      XStructDepth3_OptXStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_All{}",
		Target: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_All{F0: {{D}}, F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, F2: {{}}, F3: {{F29: 1.5}: {F29: 1.5}}, F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, F5: {F13: {F28: 1.5}}, F6: {F4: {1.5}}}",
		Target: XStructDepth3_All{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XStructDepth3_All{F0: {{D}}, F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}, F2: {{}}, F3: {{F29: 1.5}: {F29: 1.5}}, F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}, F5: {F13: {F28: 1.5}}, F6: {F4: {1.5}}}",
		Source: XStructDepth3_All{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_All{F0: {{B, C, D}}, F1: {{F0: nil}, {F6: 93}, {F1: false}}, F2: {{}}, F3: {{F29: -2.0275041959631462e+09}: {F29: -1.608352870384518e+08}, {F29: 0}: {F29: -6.431137222760762e+08}}, F4: {F0: {typeobject(XMap_XStructEmpty_XStructEmpty), typeobject(XMap_String_String)}, F1: {1619759417}, F2: {8192, 12469, -15945}, F3: {nil}, F4: {1.93157022182663e+09}, F5: {D}, F6: {157: 83, 196: 220, 42: 68}, F7: {2238134601: 2402028229, 3840569796: 3073376885}, F9: {F1: true}, F10: {F29: 1.7751768790390162e+09}, F12: {F9: D}, F13: {}}, F6: {}}",
		Target: XStructDepth3_All{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
			},
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF0{},
				XUnionDepth1_AllF6{93},
				XUnionDepth1_AllF1{},
			},
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{-2.0275041959631462e+09}: XUnionDepth1_Float64F29{-1.608352870384518e+08},
				XUnionDepth1_Float64F29{}:                        XUnionDepth1_Float64F29{-6.431137222760762e+08},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					__VDLType_map_310,
					__VDLType_map_311,
				},
				F1: XArray1_Uint32{
					1619759417,
				},
				F2: []int16{
					8192,
					12469,
					-15945,
				},
				F3: XList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					1.93157022182663e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					157: 83,
					196: 220,
					42:  68,
				},
				F7: map[uint32]uint32{
					2238134601: 2402028229,
					3840569796: 3073376885,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF29{1.7751768790390162e+09},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{},
			},
			F5: XUnionDepth2_AllF0{},
			F6: &XStructDepth2_Set_Float64{},
		},
		SourceLabel: "XStructDepth3_All{F0: {{B, C, D}}, F1: {{F0: nil}, {F6: 93}, {F1: false}}, F2: {{}}, F3: {{F29: -2.0275041959631462e+09}: {F29: -1.608352870384518e+08}, {F29: 0}: {F29: -6.431137222760762e+08}}, F4: {F0: {typeobject(XMap_XStructEmpty_XStructEmpty), typeobject(XMap_String_String)}, F1: {1619759417}, F2: {8192, 12469, -15945}, F3: {nil}, F4: {1.93157022182663e+09}, F5: {D}, F6: {157: 83, 196: 220, 42: 68}, F7: {2238134601: 2402028229, 3840569796: 3073376885}, F9: {F1: true}, F10: {F29: 1.7751768790390162e+09}, F12: {F9: D}, F13: {}}, F6: {}}",
		Source: XStructDepth3_All{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdB: struct{}{},
					XEnumBcdC: struct{}{},
					XEnumBcdD: struct{}{},
				},
			},
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF0{},
				XUnionDepth1_AllF6{93},
				XUnionDepth1_AllF1{},
			},
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{-2.0275041959631462e+09}: XUnionDepth1_Float64F29{-1.608352870384518e+08},
				XUnionDepth1_Float64F29{}:                        XUnionDepth1_Float64F29{-6.431137222760762e+08},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					__VDLType_map_310,
					__VDLType_map_311,
				},
				F1: XArray1_Uint32{
					1619759417,
				},
				F2: []int16{
					8192,
					12469,
					-15945,
				},
				F3: XList_Any{
					nil,
				},
				F4: map[float64]struct{}{
					1.93157022182663e+09: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					157: 83,
					196: 220,
					42:  68,
				},
				F7: map[uint32]uint32{
					2238134601: 2402028229,
					3840569796: 3073376885,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF29{1.7751768790390162e+09},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{},
			},
			F5: XUnionDepth2_AllF0{},
			F6: &XStructDepth2_Set_Float64{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XArray1_Set_XEnumBcd{}",
		Target:      XStructDepth3_XArray1_Set_XEnumBcd{},
		SourceLabel: "XStructDepth3_XArray1_Set_XEnumBcd{}",
		Source:      XStructDepth3_XArray1_Set_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XArray1_Set_XEnumBcd{}",
		Target:      XStructDepth3_XArray1_Set_XEnumBcd{},
		SourceLabel: "?XStructDepth3_XArray1_Set_XEnumBcd{}",
		Source:      &XStructDepth3_XArray1_Set_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XArray1_Set_XEnumBcd{}",
		Target:      XStructDepth3_XArray1_Set_XEnumBcd{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Target: XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Source: XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Target: XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "?XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Source: &XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{}",
		Target:      XStructDepth3_List_XUnionDepth1_All{},
		SourceLabel: "XStructDepth3_List_XUnionDepth1_All{}",
		Source:      XStructDepth3_List_XUnionDepth1_All{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{}",
		Target:      XStructDepth3_List_XUnionDepth1_All{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{}",
		Target:      XStructDepth3_List_XUnionDepth1_All{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
		},
		SourceLabel: "XStructDepth3_All{F1: {{F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XStructDepth3_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F21: -11717}, {F2: true}, {F6: 0}}}",
		Target: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF21{-11717},
				XUnionDepth1_AllF2{true},
				XUnionDepth1_AllF6{},
			},
		},
		SourceLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F21: -11717}, {F2: true}, {F6: 0}}}",
		Source: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF21{-11717},
				XUnionDepth1_AllF2{true},
				XUnionDepth1_AllF6{},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth3_List_XUnionDepth1_All{F1: {{F21: -11717}, {F2: true}, {F6: 0}}}",
		Target: XStructDepth3_List_XUnionDepth1_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF21{-11717},
				XUnionDepth1_AllF2{true},
				XUnionDepth1_AllF6{},
			},
		},
		SourceLabel: "XStructDepth3_All{F1: {{F21: -11717}, {F2: true}, {F6: 0}}}",
		Source: XStructDepth3_All{
			F1: []XUnionDepth1_All{
				XUnionDepth1_AllF21{-11717},
				XUnionDepth1_AllF2{true},
				XUnionDepth1_AllF6{},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{}",
		Target:      XStructDepth3_XSet_XArray1_XStructEmpty{},
		SourceLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{}",
		Source:      XStructDepth3_XSet_XArray1_XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{}",
		Target:      XStructDepth3_XSet_XArray1_XStructEmpty{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{}",
		Target:      XStructDepth3_XSet_XArray1_XStructEmpty{},
		SourceLabel: "XStructDepth3_All{}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{F2: {{}}}",
		Target: XStructDepth3_XSet_XArray1_XStructEmpty{
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
		},
		SourceLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{F2: {{}}}",
		Source: XStructDepth3_XSet_XArray1_XStructEmpty{
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_XSet_XArray1_XStructEmpty{F2: {{}}}",
		Target: XStructDepth3_XSet_XArray1_XStructEmpty{
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
		},
		SourceLabel: "XStructDepth3_All{F2: {{}}}",
		Source: XStructDepth3_All{
			F2: XSet_XArray1_XStructEmpty{
				{}: struct{}{},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Source:      XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{}",
		Target:      XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Target: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Source: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Target: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
		},
		SourceLabel: "XStructDepth3_All{F3: {{F29: 1.5}: {F29: 1.5}}}",
		Source: XStructDepth3_All{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{1.5}: XUnionDepth1_Float64F29{1.5},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 0}: {F29: -1.2057166467106588e+09}}}",
		Target: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-1.2057166467106588e+09},
			},
		},
		SourceLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 0}: {F29: -1.2057166467106588e+09}}}",
		Source: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-1.2057166467106588e+09},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{F3: {{F29: 0}: {F29: -1.2057166467106588e+09}}}",
		Target: XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-1.2057166467106588e+09},
			},
		},
		SourceLabel: "XStructDepth3_All{F3: {{F29: 0}: {F29: -1.2057166467106588e+09}}}",
		Source: XStructDepth3_All{
			F3: map[XUnionDepth1_Float64]XUnionDepth1_Float64{
				XUnionDepth1_Float64F29{}: XUnionDepth1_Float64F29{-1.2057166467106588e+09},
			},
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XStructDepth2_All{}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XStructDepth3_XStructDepth2_All{}",
		Source: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XStructDepth2_All{}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XStructDepth2_All{}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
		},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "XStructDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
		},
		SourceLabel: "XStructDepth3_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.Int64Type,
					vdl.Int64Type,
				},
				F1: XArray1_Uint32{
					123,
				},
				F2: []int16{
					-123,
				},
				F3: XList_Any{
					int64(-123),
				},
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
				F5: XSet_XEnumBcd{
					XEnumBcdD: struct{}{},
				},
				F6: map[byte]byte{
					123: 123,
				},
				F7: map[uint32]uint32{
					123: 123,
				},
				F8: XStructDepth1_All{
					F0: int64(-123),
					F1: true,
					F2: true,
					F3: "abcdeΔΘΠΣΦ王普澤世界",
					F4: "abcdeΔΘΠΣΦ王普澤世界",
					F5: vdl.Int64Type,
					F6: 123,
					F7: 123,
					F8: XEnumAbcC,
					F9: XEnumBcdD,
					F11: XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "abcdeΔΘΠΣΦ王普澤世界",
						RetryCode: vdl.WireRetryCodeRetryBackoff,
						Msg:       "abcdeΔΘΠΣΦ王普澤世界",
					}),
					F13: 123,
					F14: 123,
					F15: 123,
					F16: 123,
					F17: 123,
					F18: 123,
					F19: -123,
					F20: -123,
					F21: -123,
					F22: -123,
					F23: -123,
					F24: -123,
					F25: -123,
					F26: -123,
					F27: 1.5,
					F28: 1.5,
					F29: 1.5,
					F30: 1.5,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "abcdeΔΘΠΣΦ王普澤世界",
						Msg: "abcdeΔΘΠΣΦ王普澤世界",
					},
				},
				F9: XStructDepth1_Bool{
					F1: true,
				},
				F10: XUnionDepth1_AllF32{&XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				}},
				F11: XUnionDepth1_Float64F29{1.5},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdD,
				},
				F13: &XStructDepth1_XUint16{
					F14: 123,
				},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_XStructDepth2_All{F4: {F1: {1294053095}, F2: {11592, 0}, F5: {B}, F7: {3573352: 1036060279, 3722629252: 784938194}, F8: {F0: []XUnionDepth1_All{{F0: nil}}, F2: true, F3: \"ΠΣΦ王普\", F4: \"cdeΔΘΠΣΦ王\", F5: typeobject([]XEnumAbc), F6: 249, F7: 22, F8: C, F11: {Id: \"eΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣ\"}, F12: {Id: \"ΔΘΠΣ\", RetryCode: RetryRefetch, Msg: \"eΔΘΠΣΦ王\"}, F14: 35666, F15: 563876490, F17: 14174387861470587146, F18: 12504010737798879680, F20: -25, F23: -627084270, F24: 303193721, F25: -282593783723688815, F26: -2418158622343372796, F27: -9.18497e+07, F29: -1.2958479806819374e+07, F30: -2.3211872380628633e+09, F31: {}, F32: {Id: \"bcde\", Msg: \"eΔΘΠΣΦ王普\"}}, F10: {F19: 29}, F12: {F9: C}}}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: XArray1_Uint32{
					1294053095,
				},
				F2: []int16{
					11592,
					0,
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3573352:    1036060279,
					3722629252: 784938194,
				},
				F8: XStructDepth1_All{
					F0: []XUnionDepth1_All{
						XUnionDepth1_AllF0{},
					},
					F2: true,
					F3: "ΠΣΦ王普",
					F4: "cdeΔΘΠΣΦ王",
					F5: __VDLType_list_312,
					F6: 249,
					F7: 22,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "eΔΘΠΣΦ王普澤世",
						Msg: "cdeΔΘΠΣ",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "ΔΘΠΣ",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "eΔΘΠΣΦ王",
					}),
					F14: 35666,
					F15: 563876490,
					F17: 14174387861470587146,
					F18: 12504010737798879680,
					F20: -25,
					F23: -627084270,
					F24: 303193721,
					F25: -282593783723688815,
					F26: -2418158622343372796,
					F27: -9.18497e+07,
					F29: -1.2958479806819374e+07,
					F30: -2.3211872380628633e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "bcde",
						Msg: "eΔΘΠΣΦ王普",
					},
				},
				F10: XUnionDepth1_AllF19{29},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdC,
				},
			},
		},
		SourceLabel: "XStructDepth3_XStructDepth2_All{F4: {F1: {1294053095}, F2: {11592, 0}, F5: {B}, F7: {3573352: 1036060279, 3722629252: 784938194}, F8: {F0: []XUnionDepth1_All{{F0: nil}}, F2: true, F3: \"ΠΣΦ王普\", F4: \"cdeΔΘΠΣΦ王\", F5: typeobject([]XEnumAbc), F6: 249, F7: 22, F8: C, F11: {Id: \"eΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣ\"}, F12: {Id: \"ΔΘΠΣ\", RetryCode: RetryRefetch, Msg: \"eΔΘΠΣΦ王\"}, F14: 35666, F15: 563876490, F17: 14174387861470587146, F18: 12504010737798879680, F20: -25, F23: -627084270, F24: 303193721, F25: -282593783723688815, F26: -2418158622343372796, F27: -9.18497e+07, F29: -1.2958479806819374e+07, F30: -2.3211872380628633e+09, F31: {}, F32: {Id: \"bcde\", Msg: \"eΔΘΠΣΦ王普\"}}, F10: {F19: 29}, F12: {F9: C}}}",
		Source: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: XArray1_Uint32{
					1294053095,
				},
				F2: []int16{
					11592,
					0,
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3573352:    1036060279,
					3722629252: 784938194,
				},
				F8: XStructDepth1_All{
					F0: []XUnionDepth1_All{
						XUnionDepth1_AllF0{},
					},
					F2: true,
					F3: "ΠΣΦ王普",
					F4: "cdeΔΘΠΣΦ王",
					F5: __VDLType_list_312,
					F6: 249,
					F7: 22,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "eΔΘΠΣΦ王普澤世",
						Msg: "cdeΔΘΠΣ",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "ΔΘΠΣ",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "eΔΘΠΣΦ王",
					}),
					F14: 35666,
					F15: 563876490,
					F17: 14174387861470587146,
					F18: 12504010737798879680,
					F20: -25,
					F23: -627084270,
					F24: 303193721,
					F25: -282593783723688815,
					F26: -2418158622343372796,
					F27: -9.18497e+07,
					F29: -1.2958479806819374e+07,
					F30: -2.3211872380628633e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "bcde",
						Msg: "eΔΘΠΣΦ王普",
					},
				},
				F10: XUnionDepth1_AllF19{29},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdC,
				},
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth3_XStructDepth2_All{F4: {F1: {1294053095}, F2: {11592, 0}, F5: {B}, F7: {3573352: 1036060279, 3722629252: 784938194}, F8: {F0: []XUnionDepth1_All{{F0: nil}}, F2: true, F3: \"ΠΣΦ王普\", F4: \"cdeΔΘΠΣΦ王\", F5: typeobject([]XEnumAbc), F6: 249, F7: 22, F8: C, F11: {Id: \"eΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣ\"}, F12: {Id: \"ΔΘΠΣ\", RetryCode: RetryRefetch, Msg: \"eΔΘΠΣΦ王\"}, F14: 35666, F15: 563876490, F17: 14174387861470587146, F18: 12504010737798879680, F20: -25, F23: -627084270, F24: 303193721, F25: -282593783723688815, F26: -2418158622343372796, F27: -9.18497e+07, F29: -1.2958479806819374e+07, F30: -2.3211872380628633e+09, F31: {}, F32: {Id: \"bcde\", Msg: \"eΔΘΠΣΦ王普\"}}, F10: {F19: 29}, F12: {F9: C}}}",
		Target: XStructDepth3_XStructDepth2_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: XArray1_Uint32{
					1294053095,
				},
				F2: []int16{
					11592,
					0,
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3573352:    1036060279,
					3722629252: 784938194,
				},
				F8: XStructDepth1_All{
					F0: []XUnionDepth1_All{
						XUnionDepth1_AllF0{},
					},
					F2: true,
					F3: "ΠΣΦ王普",
					F4: "cdeΔΘΠΣΦ王",
					F5: __VDLType_list_312,
					F6: 249,
					F7: 22,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "eΔΘΠΣΦ王普澤世",
						Msg: "cdeΔΘΠΣ",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "ΔΘΠΣ",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "eΔΘΠΣΦ王",
					}),
					F14: 35666,
					F15: 563876490,
					F17: 14174387861470587146,
					F18: 12504010737798879680,
					F20: -25,
					F23: -627084270,
					F24: 303193721,
					F25: -282593783723688815,
					F26: -2418158622343372796,
					F27: -9.18497e+07,
					F29: -1.2958479806819374e+07,
					F30: -2.3211872380628633e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "bcde",
						Msg: "eΔΘΠΣΦ王普",
					},
				},
				F10: XUnionDepth1_AllF19{29},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdC,
				},
			},
		},
		SourceLabel: "XStructDepth3_All{F4: {F1: {1294053095}, F2: {11592, 0}, F5: {B}, F7: {3573352: 1036060279, 3722629252: 784938194}, F8: {F0: []XUnionDepth1_All{{F0: nil}}, F2: true, F3: \"ΠΣΦ王普\", F4: \"cdeΔΘΠΣΦ王\", F5: typeobject([]XEnumAbc), F6: 249, F7: 22, F8: C, F11: {Id: \"eΔΘΠΣΦ王普澤世\", Msg: \"cdeΔΘΠΣ\"}, F12: {Id: \"ΔΘΠΣ\", RetryCode: RetryRefetch, Msg: \"eΔΘΠΣΦ王\"}, F14: 35666, F15: 563876490, F17: 14174387861470587146, F18: 12504010737798879680, F20: -25, F23: -627084270, F24: 303193721, F25: -282593783723688815, F26: -2418158622343372796, F27: -9.18497e+07, F29: -1.2958479806819374e+07, F30: -2.3211872380628633e+09, F31: {}, F32: {Id: \"bcde\", Msg: \"eΔΘΠΣΦ王普\"}}, F10: {F19: 29}, F12: {F9: C}}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F1: XArray1_Uint32{
					1294053095,
				},
				F2: []int16{
					11592,
					0,
				},
				F5: XSet_XEnumBcd{
					XEnumBcdB: struct{}{},
				},
				F7: map[uint32]uint32{
					3573352:    1036060279,
					3722629252: 784938194,
				},
				F8: XStructDepth1_All{
					F0: []XUnionDepth1_All{
						XUnionDepth1_AllF0{},
					},
					F2: true,
					F3: "ΠΣΦ王普",
					F4: "cdeΔΘΠΣΦ王",
					F5: __VDLType_list_312,
					F6: 249,
					F7: 22,
					F8: XEnumAbcC,
					F11: XNamedError{
						Id:  "eΔΘΠΣΦ王普澤世",
						Msg: "cdeΔΘΠΣ",
					},
					F12: verror.FromWire(&vdl.WireError{
						Id:        "ΔΘΠΣ",
						RetryCode: vdl.WireRetryCodeRetryRefetch,
						Msg:       "eΔΘΠΣΦ王",
					}),
					F14: 35666,
					F15: 563876490,
					F17: 14174387861470587146,
					F18: 12504010737798879680,
					F20: -25,
					F23: -627084270,
					F24: 303193721,
					F25: -282593783723688815,
					F26: -2418158622343372796,
					F27: -9.18497e+07,
					F29: -1.2958479806819374e+07,
					F30: -2.3211872380628633e+09,
					F31: &XStructEmpty{},
					F32: &XNamedError{
						Id:  "bcde",
						Msg: "eΔΘΠΣΦ王普",
					},
				},
				F10: XUnionDepth1_AllF19{29},
				F11: XUnionDepth1_Float64F29{},
				F12: &XStructDepth1_XEnumBcd{
					F9: XEnumBcdC,
				},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructDepth3_XUnionDepth2_All{}",
		Source: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF0{},
		},
		SourceLabel: "XStructDepth3_All{}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "XStructDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Source: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
		SourceLabel: "XStructDepth3_All{F5: {F13: {F28: 1.5}}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
				F28: 1.5,
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{F5: {F4: {false}}}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF4{XSet_XBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "XStructDepth3_XUnionDepth2_All{F5: {F4: {false}}}",
		Source: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF4{XSet_XBool{
				false: struct{}{},
			}},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth3_XUnionDepth2_All{F5: {F4: {false}}}",
		Target: XStructDepth3_XUnionDepth2_All{
			F5: XUnionDepth2_AllF4{XSet_XBool{
				false: struct{}{},
			}},
		},
		SourceLabel: "XStructDepth3_All{F5: {F4: {false}}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF4{XSet_XBool{
				false: struct{}{},
			}},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{}",
		Target:      XStructDepth3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{}",
		Source:      XStructDepth3_OptXStructDepth2_Set_Float64{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{}",
		Target:      XStructDepth3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "?XStructEmpty{}",
		Source:      &XStructEmpty{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{}",
		Target:      XStructDepth3_OptXStructDepth2_Set_Float64{},
		SourceLabel: "XStructEmpty{}",
		Source:      XStructEmpty{},
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
		SourceLabel: "XStructDepth3_All{F6: {F4: {1.5}}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
			F6: &XStructDepth2_Set_Float64{
				F4: map[float64]struct{}{
					1.5: struct{}{},
				},
			},
		},
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {}}",
		Target: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{},
		},
		SourceLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {}}",
		Source: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth3_OptXStructDepth2_Set_Float64{F6: {}}",
		Target: XStructDepth3_OptXStructDepth2_Set_Float64{
			F6: &XStructDepth2_Set_Float64{},
		},
		SourceLabel: "XStructDepth3_All{F6: {}}",
		Source: XStructDepth3_All{
			F4: XStructDepth2_All{
				F0: XArray2_TypeObject{
					vdl.AnyType,
					vdl.AnyType,
				},
				F8: XStructDepth1_All{
					F5: vdl.AnyType,
				},
				F10: XUnionDepth1_AllF0{},
				F11: XUnionDepth1_Float64F29{},
			},
			F5: XUnionDepth2_AllF0{},
			F6: &XStructDepth2_Set_Float64{},
		},
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_All{F0: {}}",
		Target:      XUnionDepth3_All(XUnionDepth3_AllF0{}),
		SourceLabel: "XUnionDepth3_All{F0: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_All{F0: {}}",
		Target:      XUnionDepth3_All(XUnionDepth3_AllF0{}),
		SourceLabel: "XUnionDepth1_Any{F0: XArray3_OptXStructDepth1_XFloat32{}}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{XArray3_OptXStructDepth1_XFloat32{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_All{F0: {}}",
		Target:      XUnionDepth3_All(XUnionDepth3_AllF0{}),
		SourceLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {}}",
		Source:      XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_All{F6: {F4: {1.5}}}",
		Target: XUnionDepth3_All(XUnionDepth3_AllF6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F6: {F4: {1.5}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_All{F6: {F4: {1.5}}}",
		Target: XUnionDepth3_All(XUnionDepth3_AllF6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_All{F2: {}}",
		Target:      XUnionDepth3_All(XUnionDepth3_AllF2{}),
		SourceLabel: "XUnionDepth3_All{F2: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF2{}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_All{F2: {}}",
		Target:      XUnionDepth3_All(XUnionDepth3_AllF2{}),
		SourceLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {}}",
		Source:      XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {}}",
		Target:      XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{}),
		SourceLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {}}",
		Source:      XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {}}",
		Target:      XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{}),
		SourceLabel: "XUnionDepth1_Any{F0: XArray3_OptXStructDepth1_XFloat32{}}",
		Source:      XUnionDepth1_Any(XUnionDepth1_AnyF0{XArray3_OptXStructDepth1_XFloat32{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {}}",
		Target:      XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{}),
		SourceLabel: "XUnionDepth3_All{F0: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF0{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Target: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
		SourceLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Source: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Target: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F0: {{F28: 1.5}, {F28: 1.5}, {F28: 1.5}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF0{XArray3_OptXStructDepth1_XFloat32{
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
			{
				F28: 1.5,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{}, {F28: -9.264463e+08}, {F28: -1.1404818e+08}}}",
		Target: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: -9.264463e+08,
			},
			{
				F28: -1.1404818e+08,
			},
		}}),
		SourceLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{}, {F28: -9.264463e+08}, {F28: -1.1404818e+08}}}",
		Source: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: -9.264463e+08,
			},
			{
				F28: -1.1404818e+08,
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XArray3_OptXStructDepth1_XFloat32{F0: {{}, {F28: -9.264463e+08}, {F28: -1.1404818e+08}}}",
		Target: XUnionDepth3_XArray3_OptXStructDepth1_XFloat32(XUnionDepth3_XArray3_OptXStructDepth1_XFloat32F0{XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: -9.264463e+08,
			},
			{
				F28: -1.1404818e+08,
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F0: {{}, {F28: -9.264463e+08}, {F28: -1.1404818e+08}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF0{XArray3_OptXStructDepth1_XFloat32{
			{},
			{
				F28: -9.264463e+08,
			},
			{
				F28: -1.1404818e+08,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {}}",
		Target:      XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{}),
		SourceLabel: "XUnionDepth3_List_XList_Error{F1: {}}",
		Source:      XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {}}",
		Target:      XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{}),
		SourceLabel: "XUnionDepth3_All{F1: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF1{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
		SourceLabel: "XUnionDepth3_List_XList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Target: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F1: {{{Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {{{Msg: \"Φ\"}}}}",
		Target: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "Φ",
				}),
			},
		}}),
		SourceLabel: "XUnionDepth3_List_XList_Error{F1: {{{Msg: \"Φ\"}}}}",
		Source: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "Φ",
				}),
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_List_XList_Error{F1: {{{Msg: \"Φ\"}}}}",
		Target: XUnionDepth3_List_XList_Error(XUnionDepth3_List_XList_ErrorF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "Φ",
				}),
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F1: {{{Msg: \"Φ\"}}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF1{[]XList_Error{
			{
				verror.FromWire(&vdl.WireError{
					Msg: "Φ",
				}),
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {}}",
		Target:      XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{}),
		SourceLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {}}",
		Source:      XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {}}",
		Target:      XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{}),
		SourceLabel: "XUnionDepth3_All{F2: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF2{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Target: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth3_All{F2: {{F3: \"abcdeΔΘΠΣΦ王普澤世界\"}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF2{map[XStructDepth1_String]struct{}{
			{
				F3: "abcdeΔΘΠΣΦ王普澤世界",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{}, {F3: \"ΘΠΣΦ\"}}}",
		Target: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "ΘΠΣΦ",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{}, {F3: \"ΘΠΣΦ\"}}}",
		Source: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "ΘΠΣΦ",
			}: struct{}{},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_Set_XStructDepth1_String{F2: {{}, {F3: \"ΘΠΣΦ\"}}}",
		Target: XUnionDepth3_Set_XStructDepth1_String(XUnionDepth3_Set_XStructDepth1_StringF2{map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "ΘΠΣΦ",
			}: struct{}{},
		}}),
		SourceLabel: "XUnionDepth3_All{F2: {{}, {F3: \"ΘΠΣΦ\"}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF2{map[XStructDepth1_String]struct{}{
			{}: struct{}{},
			{
				F3: "ΘΠΣΦ",
			}: struct{}{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {}}",
		Target:      XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{}),
		SourceLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {}}",
		Source:      XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {}}",
		Target:      XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{}),
		SourceLabel: "XUnionDepth3_All{F3: {}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF3{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {{F2: true}: {F2: true}}}",
		Target: XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
		SourceLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {{F2: true}: {F2: true}}}",
		Source: XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool{F3: {{F2: true}: {F2: true}}}",
		Target: XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool(XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBoolF3{XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F3: {{F2: true}: {F2: true}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF3{XMap_XStructDepth1_XBool_XStructDepth1_XBool{
			{
				F2: true,
			}: {
				F2: true,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		}}),
		SourceLabel: "XUnionDepth3_XStructDepth2_All{F4: {}}",
		Source: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		}}),
		SourceLabel: "XUnionDepth3_All{F4: {}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
			F8: XStructDepth1_All{
				F5: vdl.AnyType,
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		}}),
		SourceLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F4: {F0: {typeobject(int64), typeobject(int64)}, F1: {123}, F2: {-123}, F3: {int64(-123)}, F4: {1.5}, F5: {D}, F6: {123: 123}, F7: {123: 123}, F8: {F0: int64(-123), F1: true, F2: true, F3: \"abcdeΔΘΠΣΦ王普澤世界\", F4: \"abcdeΔΘΠΣΦ王普澤世界\", F5: typeobject(int64), F6: 123, F7: 123, F8: C, F9: D, F11: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F12: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", RetryCode: RetryBackoff, Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}, F13: 123, F14: 123, F15: 123, F16: 123, F17: 123, F18: 123, F19: -123, F20: -123, F21: -123, F22: -123, F23: -123, F24: -123, F25: -123, F26: -123, F27: 1.5, F28: 1.5, F29: 1.5, F30: 1.5, F31: {}, F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F9: {F1: true}, F10: {F32: {Id: \"abcdeΔΘΠΣΦ王普澤世界\", Msg: \"abcdeΔΘΠΣΦ王普澤世界\"}}, F11: {F29: 1.5}, F12: {F9: D}, F13: {F14: 123}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.Int64Type,
				vdl.Int64Type,
			},
			F1: XArray1_Uint32{
				123,
			},
			F2: []int16{
				-123,
			},
			F3: XList_Any{
				int64(-123),
			},
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				123: 123,
			},
			F7: map[uint32]uint32{
				123: 123,
			},
			F8: XStructDepth1_All{
				F0: int64(-123),
				F1: true,
				F2: true,
				F3: "abcdeΔΘΠΣΦ王普澤世界",
				F4: "abcdeΔΘΠΣΦ王普澤世界",
				F5: vdl.Int64Type,
				F6: 123,
				F7: 123,
				F8: XEnumAbcC,
				F9: XEnumBcdD,
				F11: XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
				F12: verror.FromWire(&vdl.WireError{
					Id:        "abcdeΔΘΠΣΦ王普澤世界",
					RetryCode: vdl.WireRetryCodeRetryBackoff,
					Msg:       "abcdeΔΘΠΣΦ王普澤世界",
				}),
				F13: 123,
				F14: 123,
				F15: 123,
				F16: 123,
				F17: 123,
				F18: 123,
				F19: -123,
				F20: -123,
				F21: -123,
				F22: -123,
				F23: -123,
				F24: -123,
				F25: -123,
				F26: -123,
				F27: 1.5,
				F28: 1.5,
				F29: 1.5,
				F30: 1.5,
				F31: &XStructEmpty{},
				F32: &XNamedError{
					Id:  "abcdeΔΘΠΣΦ王普澤世界",
					Msg: "abcdeΔΘΠΣΦ王普澤世界",
				},
			},
			F9: XStructDepth1_Bool{
				F1: true,
			},
			F10: XUnionDepth1_AllF32{&XNamedError{
				Id:  "abcdeΔΘΠΣΦ王普澤世界",
				Msg: "abcdeΔΘΠΣΦ王普澤世界",
			}},
			F11: XUnionDepth1_Float64F29{1.5},
			F12: &XStructDepth1_XEnumBcd{
				F9: XEnumBcdD,
			},
			F13: &XStructDepth1_XUint16{
				F14: 123,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(any), typeobject(XArray1_XStructEmpty)}, F1: {650662747}, F4: {-1.2857409473689704e+08, 1.157960391740711e+09, 1.873471483852068e+09}, F5: {D}, F6: {0: 48, 153: 133}, F7: {2044137986: 1905558326, 2062773644: 1066427096, 95064470: 3719709054}, F8: {F0: set[XByte]{135, 173, 243}, F3: \"bcdeΔΘΠΣΦ\", F5: typeobject(XUnionDepth2_OptXStructDepth1_XFloat32), F13: 31207, F14: 59370, F16: 303297294, F17: 15467091921360512822, F18: 11034741233086879389, F19: -55, F20: 54, F22: 10155, F23: 723419856, F24: -176626036, F25: 1780085702466453043, F27: 7.382859e+08, F28: -1.5114458e+08, F29: -1.3737398805084093e+09, F31: {}}, F11: {F29: -4.287222510229483e+08}, F12: {}, F13: {F14: 37166}}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_array_313,
			},
			F1: XArray1_Uint32{
				650662747,
			},
			F4: map[float64]struct{}{
				-1.2857409473689704e+08: struct{}{},
				1.157960391740711e+09:   struct{}{},
				1.873471483852068e+09:   struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				0:   48,
				153: 133,
			},
			F7: map[uint32]uint32{
				2044137986: 1905558326,
				2062773644: 1066427096,
				95064470:   3719709054,
			},
			F8: XStructDepth1_All{
				F0: map[XByte]struct{}{
					135: struct{}{},
					173: struct{}{},
					243: struct{}{},
				},
				F3:  "bcdeΔΘΠΣΦ",
				F5:  __VDLType_union_314,
				F13: 31207,
				F14: 59370,
				F16: 303297294,
				F17: 15467091921360512822,
				F18: 11034741233086879389,
				F19: -55,
				F20: 54,
				F22: 10155,
				F23: 723419856,
				F24: -176626036,
				F25: 1780085702466453043,
				F27: 7.382859e+08,
				F28: -1.5114458e+08,
				F29: -1.3737398805084093e+09,
				F31: &XStructEmpty{},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{-4.287222510229483e+08},
			F12: &XStructDepth1_XEnumBcd{},
			F13: &XStructDepth1_XUint16{
				F14: 37166,
			},
		}}),
		SourceLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(any), typeobject(XArray1_XStructEmpty)}, F1: {650662747}, F4: {-1.2857409473689704e+08, 1.157960391740711e+09, 1.873471483852068e+09}, F5: {D}, F6: {0: 48, 153: 133}, F7: {2044137986: 1905558326, 2062773644: 1066427096, 95064470: 3719709054}, F8: {F0: set[XByte]{135, 173, 243}, F3: \"bcdeΔΘΠΣΦ\", F5: typeobject(XUnionDepth2_OptXStructDepth1_XFloat32), F13: 31207, F14: 59370, F16: 303297294, F17: 15467091921360512822, F18: 11034741233086879389, F19: -55, F20: 54, F22: 10155, F23: 723419856, F24: -176626036, F25: 1780085702466453043, F27: 7.382859e+08, F28: -1.5114458e+08, F29: -1.3737398805084093e+09, F31: {}}, F11: {F29: -4.287222510229483e+08}, F12: {}, F13: {F14: 37166}}}",
		Source: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_array_313,
			},
			F1: XArray1_Uint32{
				650662747,
			},
			F4: map[float64]struct{}{
				-1.2857409473689704e+08: struct{}{},
				1.157960391740711e+09:   struct{}{},
				1.873471483852068e+09:   struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				0:   48,
				153: 133,
			},
			F7: map[uint32]uint32{
				2044137986: 1905558326,
				2062773644: 1066427096,
				95064470:   3719709054,
			},
			F8: XStructDepth1_All{
				F0: map[XByte]struct{}{
					135: struct{}{},
					173: struct{}{},
					243: struct{}{},
				},
				F3:  "bcdeΔΘΠΣΦ",
				F5:  __VDLType_union_314,
				F13: 31207,
				F14: 59370,
				F16: 303297294,
				F17: 15467091921360512822,
				F18: 11034741233086879389,
				F19: -55,
				F20: 54,
				F22: 10155,
				F23: 723419856,
				F24: -176626036,
				F25: 1780085702466453043,
				F27: 7.382859e+08,
				F28: -1.5114458e+08,
				F29: -1.3737398805084093e+09,
				F31: &XStructEmpty{},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{-4.287222510229483e+08},
			F12: &XStructDepth1_XEnumBcd{},
			F13: &XStructDepth1_XUint16{
				F14: 37166,
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XStructDepth2_All{F4: {F0: {typeobject(any), typeobject(XArray1_XStructEmpty)}, F1: {650662747}, F4: {-1.2857409473689704e+08, 1.157960391740711e+09, 1.873471483852068e+09}, F5: {D}, F6: {0: 48, 153: 133}, F7: {2044137986: 1905558326, 2062773644: 1066427096, 95064470: 3719709054}, F8: {F0: set[XByte]{135, 173, 243}, F3: \"bcdeΔΘΠΣΦ\", F5: typeobject(XUnionDepth2_OptXStructDepth1_XFloat32), F13: 31207, F14: 59370, F16: 303297294, F17: 15467091921360512822, F18: 11034741233086879389, F19: -55, F20: 54, F22: 10155, F23: 723419856, F24: -176626036, F25: 1780085702466453043, F27: 7.382859e+08, F28: -1.5114458e+08, F29: -1.3737398805084093e+09, F31: {}}, F11: {F29: -4.287222510229483e+08}, F12: {}, F13: {F14: 37166}}}",
		Target: XUnionDepth3_XStructDepth2_All(XUnionDepth3_XStructDepth2_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_array_313,
			},
			F1: XArray1_Uint32{
				650662747,
			},
			F4: map[float64]struct{}{
				-1.2857409473689704e+08: struct{}{},
				1.157960391740711e+09:   struct{}{},
				1.873471483852068e+09:   struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				0:   48,
				153: 133,
			},
			F7: map[uint32]uint32{
				2044137986: 1905558326,
				2062773644: 1066427096,
				95064470:   3719709054,
			},
			F8: XStructDepth1_All{
				F0: map[XByte]struct{}{
					135: struct{}{},
					173: struct{}{},
					243: struct{}{},
				},
				F3:  "bcdeΔΘΠΣΦ",
				F5:  __VDLType_union_314,
				F13: 31207,
				F14: 59370,
				F16: 303297294,
				F17: 15467091921360512822,
				F18: 11034741233086879389,
				F19: -55,
				F20: 54,
				F22: 10155,
				F23: 723419856,
				F24: -176626036,
				F25: 1780085702466453043,
				F27: 7.382859e+08,
				F28: -1.5114458e+08,
				F29: -1.3737398805084093e+09,
				F31: &XStructEmpty{},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{-4.287222510229483e+08},
			F12: &XStructDepth1_XEnumBcd{},
			F13: &XStructDepth1_XUint16{
				F14: 37166,
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F4: {F0: {typeobject(any), typeobject(XArray1_XStructEmpty)}, F1: {650662747}, F4: {-1.2857409473689704e+08, 1.157960391740711e+09, 1.873471483852068e+09}, F5: {D}, F6: {0: 48, 153: 133}, F7: {2044137986: 1905558326, 2062773644: 1066427096, 95064470: 3719709054}, F8: {F0: set[XByte]{135, 173, 243}, F3: \"bcdeΔΘΠΣΦ\", F5: typeobject(XUnionDepth2_OptXStructDepth1_XFloat32), F13: 31207, F14: 59370, F16: 303297294, F17: 15467091921360512822, F18: 11034741233086879389, F19: -55, F20: 54, F22: 10155, F23: 723419856, F24: -176626036, F25: 1780085702466453043, F27: 7.382859e+08, F28: -1.5114458e+08, F29: -1.3737398805084093e+09, F31: {}}, F11: {F29: -4.287222510229483e+08}, F12: {}, F13: {F14: 37166}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF4{XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.AnyType,
				__VDLType_array_313,
			},
			F1: XArray1_Uint32{
				650662747,
			},
			F4: map[float64]struct{}{
				-1.2857409473689704e+08: struct{}{},
				1.157960391740711e+09:   struct{}{},
				1.873471483852068e+09:   struct{}{},
			},
			F5: XSet_XEnumBcd{
				XEnumBcdD: struct{}{},
			},
			F6: map[byte]byte{
				0:   48,
				153: 133,
			},
			F7: map[uint32]uint32{
				2044137986: 1905558326,
				2062773644: 1066427096,
				95064470:   3719709054,
			},
			F8: XStructDepth1_All{
				F0: map[XByte]struct{}{
					135: struct{}{},
					173: struct{}{},
					243: struct{}{},
				},
				F3:  "bcdeΔΘΠΣΦ",
				F5:  __VDLType_union_314,
				F13: 31207,
				F14: 59370,
				F16: 303297294,
				F17: 15467091921360512822,
				F18: 11034741233086879389,
				F19: -55,
				F20: 54,
				F22: 10155,
				F23: 723419856,
				F24: -176626036,
				F25: 1780085702466453043,
				F27: 7.382859e+08,
				F28: -1.5114458e+08,
				F29: -1.3737398805084093e+09,
				F31: &XStructEmpty{},
			},
			F10: XUnionDepth1_AllF0{},
			F11: XUnionDepth1_Float64F29{-4.287222510229483e+08},
			F12: &XStructDepth1_XEnumBcd{},
			F13: &XStructDepth1_XUint16{
				F14: 37166,
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F0: {}}}",
		Target:      XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF0{}}),
		SourceLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F0: {}}}",
		Source:      XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF0{}}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F0: {}}}",
		Target:      XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF0{}}),
		SourceLabel: "XUnionDepth3_All{F5: {F0: {}}}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF5{XUnionDepth2_AllF0{}}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}}),
		SourceLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Source: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F13: {F28: 1.5}}}",
		Target: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}}),
		SourceLabel: "XUnionDepth3_All{F5: {F13: {F28: 1.5}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF5{XUnionDepth2_AllF13{&XStructDepth1_XFloat32{
			F28: 1.5,
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F7: {false: false, true: true}}}",
		Target: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF7{XMap_XBool_XBool{
			false: false,
			true:  true,
		}}}),
		SourceLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F7: {false: false, true: true}}}",
		Source: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF7{XMap_XBool_XBool{
			false: false,
			true:  true,
		}}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_XUnionDepth2_All{F5: {F7: {false: false, true: true}}}",
		Target: XUnionDepth3_XUnionDepth2_All(XUnionDepth3_XUnionDepth2_AllF5{XUnionDepth2_AllF7{XMap_XBool_XBool{
			false: false,
			true:  true,
		}}}),
		SourceLabel: "XUnionDepth3_All{F5: {F7: {false: false, true: true}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF5{XUnionDepth2_AllF7{XMap_XBool_XBool{
			false: false,
			true:  true,
		}}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: nil}",
		Target:      XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{}),
		SourceLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: nil}",
		Source:      XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{}),
	},
	{
		Label:       "Zero",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: nil}",
		Target:      XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{}),
		SourceLabel: "XUnionDepth3_All{F6: nil}",
		Source:      XUnionDepth3_All(XUnionDepth3_AllF6{}),
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Source: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		Label:       "Full",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {1.5}}}",
		Target: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F6: {F4: {1.5}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				1.5: struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {-2.0805507443036644e+09, 6.403380188710701e+08}}}",
		Target: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.0805507443036644e+09: struct{}{},
				6.403380188710701e+08:   struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {-2.0805507443036644e+09, 6.403380188710701e+08}}}",
		Source: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.0805507443036644e+09: struct{}{},
				6.403380188710701e+08:   struct{}{},
			},
		}}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth3_OptXStructDepth2_Set_Float64{F6: {F4: {-2.0805507443036644e+09, 6.403380188710701e+08}}}",
		Target: XUnionDepth3_OptXStructDepth2_Set_Float64(XUnionDepth3_OptXStructDepth2_Set_Float64F6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.0805507443036644e+09: struct{}{},
				6.403380188710701e+08:   struct{}{},
			},
		}}),
		SourceLabel: "XUnionDepth3_All{F6: {F4: {-2.0805507443036644e+09, 6.403380188710701e+08}}}",
		Source: XUnionDepth3_All(XUnionDepth3_AllF6{&XStructDepth2_Set_Float64{
			F4: map[float64]struct{}{
				-2.0805507443036644e+09: struct{}{},
				6.403380188710701e+08:   struct{}{},
			},
		}}),
	},
	{
		IsCanonical: true,
		Label:       "Zero",
		TargetLabel: "?XStructDepth3_XArray1_Set_XEnumBcd(nil)",
		Target:      (*XStructDepth3_XArray1_Set_XEnumBcd)(nil),
		SourceLabel: "?XStructDepth3_XArray1_Set_XEnumBcd(nil)",
		Source:      (*XStructDepth3_XArray1_Set_XEnumBcd)(nil),
	},
	{
		Label:       "Zero",
		TargetLabel: "?XStructDepth3_XArray1_Set_XEnumBcd(nil)",
		Target:      (*XStructDepth3_XArray1_Set_XEnumBcd)(nil),
		SourceLabel: "?XStructEmpty(nil)",
		Source:      (*XStructEmpty)(nil),
	},
	{
		Label:       "NilAny",
		TargetLabel: "?XStructDepth3_XArray1_Set_XEnumBcd(nil)",
		Target:      (*XStructDepth3_XArray1_Set_XEnumBcd)(nil),
		SourceLabel: "any(nil)",
	},
	{
		IsCanonical: true,
		Label:       "Full",
		TargetLabel: "?XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Target: &XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "?XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Source: &XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		Label:       "Full",
		TargetLabel: "?XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Target: &XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
		SourceLabel: "XStructDepth3_XArray1_Set_XEnumBcd{F0: {{D}}}",
		Source: XStructDepth3_XArray1_Set_XEnumBcd{
			F0: XArray1_Set_XEnumBcd{
				{
					XEnumBcdD: struct{}{},
				},
			},
		},
	},
	{
		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{},
		},
	},
}

// Hold type definitions in package-level variables, for better performance.
var (
	__VDLType_struct_1     *vdl.Type
	__VDLType_bool_2       *vdl.Type
	__VDLType_string_3     *vdl.Type
	__VDLType_byte_4       *vdl.Type
	__VDLType_enum_5       *vdl.Type
	__VDLType_enum_6       *vdl.Type
	__VDLType_struct_7     *vdl.Type
	__VDLType_struct_8     *vdl.Type
	__VDLType_uint16_9     *vdl.Type
	__VDLType_uint32_10    *vdl.Type
	__VDLType_uint64_11    *vdl.Type
	__VDLType_int8_12      *vdl.Type
	__VDLType_int16_13     *vdl.Type
	__VDLType_int32_14     *vdl.Type
	__VDLType_int64_15     *vdl.Type
	__VDLType_float32_16   *vdl.Type
	__VDLType_float64_17   *vdl.Type
	__VDLType_array_18     *vdl.Type
	__VDLType_array_19     *vdl.Type
	__VDLType_array_20     *vdl.Type
	__VDLType_array_21     *vdl.Type
	__VDLType_array_22     *vdl.Type
	__VDLType_array_23     *vdl.Type
	__VDLType_array_24     *vdl.Type
	__VDLType_array_25     *vdl.Type
	__VDLType_array_26     *vdl.Type
	__VDLType_array_27     *vdl.Type
	__VDLType_array_28     *vdl.Type
	__VDLType_array_29     *vdl.Type
	__VDLType_array_30     *vdl.Type
	__VDLType_array_31     *vdl.Type
	__VDLType_array_32     *vdl.Type
	__VDLType_array_33     *vdl.Type
	__VDLType_array_34     *vdl.Type
	__VDLType_optional_35  *vdl.Type
	__VDLType_array_36     *vdl.Type
	__VDLType_optional_37  *vdl.Type
	__VDLType_list_38      *vdl.Type
	__VDLType_list_39      *vdl.Type
	__VDLType_list_40      *vdl.Type
	__VDLType_list_41      *vdl.Type
	__VDLType_list_42      *vdl.Type
	__VDLType_list_43      *vdl.Type
	__VDLType_list_44      *vdl.Type
	__VDLType_list_45      *vdl.Type
	__VDLType_list_46      *vdl.Type
	__VDLType_list_47      *vdl.Type
	__VDLType_list_48      *vdl.Type
	__VDLType_list_49      *vdl.Type
	__VDLType_list_50      *vdl.Type
	__VDLType_list_51      *vdl.Type
	__VDLType_list_52      *vdl.Type
	__VDLType_list_53      *vdl.Type
	__VDLType_list_54      *vdl.Type
	__VDLType_list_55      *vdl.Type
	__VDLType_set_56       *vdl.Type
	__VDLType_set_57       *vdl.Type
	__VDLType_set_58       *vdl.Type
	__VDLType_set_59       *vdl.Type
	__VDLType_set_60       *vdl.Type
	__VDLType_set_61       *vdl.Type
	__VDLType_set_62       *vdl.Type
	__VDLType_set_63       *vdl.Type
	__VDLType_set_64       *vdl.Type
	__VDLType_set_65       *vdl.Type
	__VDLType_set_66       *vdl.Type
	__VDLType_set_67       *vdl.Type
	__VDLType_set_68       *vdl.Type
	__VDLType_map_69       *vdl.Type
	__VDLType_map_70       *vdl.Type
	__VDLType_map_71       *vdl.Type
	__VDLType_map_72       *vdl.Type
	__VDLType_map_73       *vdl.Type
	__VDLType_map_74       *vdl.Type
	__VDLType_map_75       *vdl.Type
	__VDLType_map_76       *vdl.Type
	__VDLType_map_77       *vdl.Type
	__VDLType_map_78       *vdl.Type
	__VDLType_map_79       *vdl.Type
	__VDLType_map_80       *vdl.Type
	__VDLType_map_81       *vdl.Type
	__VDLType_struct_82    *vdl.Type
	__VDLType_struct_83    *vdl.Type
	__VDLType_struct_84    *vdl.Type
	__VDLType_struct_85    *vdl.Type
	__VDLType_struct_86    *vdl.Type
	__VDLType_struct_87    *vdl.Type
	__VDLType_struct_88    *vdl.Type
	__VDLType_struct_89    *vdl.Type
	__VDLType_struct_90    *vdl.Type
	__VDLType_struct_91    *vdl.Type
	__VDLType_struct_92    *vdl.Type
	__VDLType_struct_93    *vdl.Type
	__VDLType_struct_94    *vdl.Type
	__VDLType_struct_95    *vdl.Type
	__VDLType_struct_96    *vdl.Type
	__VDLType_struct_97    *vdl.Type
	__VDLType_struct_98    *vdl.Type
	__VDLType_struct_99    *vdl.Type
	__VDLType_struct_100   *vdl.Type
	__VDLType_struct_101   *vdl.Type
	__VDLType_struct_102   *vdl.Type
	__VDLType_struct_103   *vdl.Type
	__VDLType_struct_104   *vdl.Type
	__VDLType_struct_105   *vdl.Type
	__VDLType_struct_106   *vdl.Type
	__VDLType_struct_107   *vdl.Type
	__VDLType_struct_108   *vdl.Type
	__VDLType_struct_109   *vdl.Type
	__VDLType_struct_110   *vdl.Type
	__VDLType_struct_111   *vdl.Type
	__VDLType_struct_112   *vdl.Type
	__VDLType_struct_113   *vdl.Type
	__VDLType_struct_114   *vdl.Type
	__VDLType_struct_115   *vdl.Type
	__VDLType_union_116    *vdl.Type
	__VDLType_union_117    *vdl.Type
	__VDLType_union_118    *vdl.Type
	__VDLType_union_119    *vdl.Type
	__VDLType_union_120    *vdl.Type
	__VDLType_union_121    *vdl.Type
	__VDLType_union_122    *vdl.Type
	__VDLType_union_123    *vdl.Type
	__VDLType_union_124    *vdl.Type
	__VDLType_union_125    *vdl.Type
	__VDLType_union_126    *vdl.Type
	__VDLType_union_127    *vdl.Type
	__VDLType_union_128    *vdl.Type
	__VDLType_union_129    *vdl.Type
	__VDLType_union_130    *vdl.Type
	__VDLType_union_131    *vdl.Type
	__VDLType_union_132    *vdl.Type
	__VDLType_union_133    *vdl.Type
	__VDLType_union_134    *vdl.Type
	__VDLType_union_135    *vdl.Type
	__VDLType_union_136    *vdl.Type
	__VDLType_union_137    *vdl.Type
	__VDLType_union_138    *vdl.Type
	__VDLType_union_139    *vdl.Type
	__VDLType_union_140    *vdl.Type
	__VDLType_union_141    *vdl.Type
	__VDLType_union_142    *vdl.Type
	__VDLType_union_143    *vdl.Type
	__VDLType_union_144    *vdl.Type
	__VDLType_union_145    *vdl.Type
	__VDLType_union_146    *vdl.Type
	__VDLType_union_147    *vdl.Type
	__VDLType_union_148    *vdl.Type
	__VDLType_union_149    *vdl.Type
	__VDLType_array_150    *vdl.Type
	__VDLType_array_151    *vdl.Type
	__VDLType_array_152    *vdl.Type
	__VDLType_set_153      *vdl.Type
	__VDLType_array_154    *vdl.Type
	__VDLType_map_155      *vdl.Type
	__VDLType_array_156    *vdl.Type
	__VDLType_array_157    *vdl.Type
	__VDLType_array_158    *vdl.Type
	__VDLType_optional_159 *vdl.Type
	__VDLType_list_160     *vdl.Type
	__VDLType_list_161     *vdl.Type
	__VDLType_list_162     *vdl.Type
	__VDLType_list_163     *vdl.Type
	__VDLType_set_164      *vdl.Type
	__VDLType_list_165     *vdl.Type
	__VDLType_list_166     *vdl.Type
	__VDLType_list_167     *vdl.Type
	__VDLType_list_168     *vdl.Type
	__VDLType_optional_169 *vdl.Type
	__VDLType_set_170      *vdl.Type
	__VDLType_set_171      *vdl.Type
	__VDLType_set_172      *vdl.Type
	__VDLType_map_173      *vdl.Type
	__VDLType_map_174      *vdl.Type
	__VDLType_map_175      *vdl.Type
	__VDLType_struct_176   *vdl.Type
	__VDLType_list_177     *vdl.Type
	__VDLType_set_178      *vdl.Type
	__VDLType_map_179      *vdl.Type
	__VDLType_optional_180 *vdl.Type
	__VDLType_struct_181   *vdl.Type
	__VDLType_struct_182   *vdl.Type
	__VDLType_struct_183   *vdl.Type
	__VDLType_struct_184   *vdl.Type
	__VDLType_struct_185   *vdl.Type
	__VDLType_struct_186   *vdl.Type
	__VDLType_struct_187   *vdl.Type
	__VDLType_struct_188   *vdl.Type
	__VDLType_struct_189   *vdl.Type
	__VDLType_struct_190   *vdl.Type
	__VDLType_struct_191   *vdl.Type
	__VDLType_struct_192   *vdl.Type
	__VDLType_struct_193   *vdl.Type
	__VDLType_struct_194   *vdl.Type
	__VDLType_union_195    *vdl.Type
	__VDLType_map_196      *vdl.Type
	__VDLType_union_197    *vdl.Type
	__VDLType_union_198    *vdl.Type
	__VDLType_union_199    *vdl.Type
	__VDLType_union_200    *vdl.Type
	__VDLType_union_201    *vdl.Type
	__VDLType_union_202    *vdl.Type
	__VDLType_union_203    *vdl.Type
	__VDLType_union_204    *vdl.Type
	__VDLType_union_205    *vdl.Type
	__VDLType_union_206    *vdl.Type
	__VDLType_union_207    *vdl.Type
	__VDLType_union_208    *vdl.Type
	__VDLType_union_209    *vdl.Type
	__VDLType_union_210    *vdl.Type
	__VDLType_array_211    *vdl.Type
	__VDLType_array_212    *vdl.Type
	__VDLType_list_213     *vdl.Type
	__VDLType_array_214    *vdl.Type
	__VDLType_set_215      *vdl.Type
	__VDLType_array_216    *vdl.Type
	__VDLType_map_217      *vdl.Type
	__VDLType_array_218    *vdl.Type
	__VDLType_array_219    *vdl.Type
	__VDLType_array_220    *vdl.Type
	__VDLType_optional_221 *vdl.Type
	__VDLType_list_222     *vdl.Type
	__VDLType_list_223     *vdl.Type
	__VDLType_list_224     *vdl.Type
	__VDLType_list_225     *vdl.Type
	__VDLType_list_226     *vdl.Type
	__VDLType_list_227     *vdl.Type
	__VDLType_list_228     *vdl.Type
	__VDLType_set_229      *vdl.Type
	__VDLType_set_230      *vdl.Type
	__VDLType_set_231      *vdl.Type
	__VDLType_map_232      *vdl.Type
	__VDLType_map_233      *vdl.Type
	__VDLType_map_234      *vdl.Type
	__VDLType_struct_235   *vdl.Type
	__VDLType_list_236     *vdl.Type
	__VDLType_struct_237   *vdl.Type
	__VDLType_struct_238   *vdl.Type
	__VDLType_struct_239   *vdl.Type
	__VDLType_struct_240   *vdl.Type
	__VDLType_struct_241   *vdl.Type
	__VDLType_struct_242   *vdl.Type
	__VDLType_struct_243   *vdl.Type
	__VDLType_union_244    *vdl.Type
	__VDLType_list_245     *vdl.Type
	__VDLType_set_246      *vdl.Type
	__VDLType_union_247    *vdl.Type
	__VDLType_union_248    *vdl.Type
	__VDLType_union_249    *vdl.Type
	__VDLType_union_250    *vdl.Type
	__VDLType_union_251    *vdl.Type
	__VDLType_union_252    *vdl.Type
	__VDLType_union_253    *vdl.Type
	__VDLType_struct_254   *vdl.Type
	__VDLType_optional_255 *vdl.Type
	__VDLType_struct_256   *vdl.Type
	__VDLType_optional_257 *vdl.Type
	__VDLType_struct_258   *vdl.Type
	__VDLType_optional_259 *vdl.Type
	__VDLType_bool_260     *vdl.Type
	__VDLType_bool_261     *vdl.Type
	__VDLType_bool_262     *vdl.Type
	__VDLType_int32_263    *vdl.Type
	__VDLType_int32_264    *vdl.Type
	__VDLType_int32_265    *vdl.Type
	__VDLType_string_266   *vdl.Type
	__VDLType_string_267   *vdl.Type
	__VDLType_array_268    *vdl.Type
	__VDLType_array_269    *vdl.Type
	__VDLType_list_270     *vdl.Type
	__VDLType_list_271     *vdl.Type
	__VDLType_struct_272   *vdl.Type
	__VDLType_struct_273   *vdl.Type
	__VDLType_struct_274   *vdl.Type
	__VDLType_struct_275   *vdl.Type
	__VDLType_struct_276   *vdl.Type
	__VDLType_struct_277   *vdl.Type
	__VDLType_union_278    *vdl.Type
	__VDLType_union_279    *vdl.Type
	__VDLType_union_280    *vdl.Type
	__VDLType_union_281    *vdl.Type
	__VDLType_union_282    *vdl.Type
	__VDLType_union_283    *vdl.Type
	__VDLType_struct_284   *vdl.Type
	__VDLType_list_285     *vdl.Type
	__VDLType_list_286     *vdl.Type
	__VDLType_set_287      *vdl.Type
	__VDLType_list_288     *vdl.Type
	__VDLType_list_289     *vdl.Type
	__VDLType_struct_290   *vdl.Type
	__VDLType_float32_291  *vdl.Type
	__VDLType_list_292     *vdl.Type
	__VDLType_list_293     *vdl.Type
	__VDLType_array_294    *vdl.Type
	__VDLType_union_295    *vdl.Type
	__VDLType_struct_296   *vdl.Type
	__VDLType_union_297    *vdl.Type
	__VDLType_uint16_298   *vdl.Type
	__VDLType_list_299     *vdl.Type
	__VDLType_set_300      *vdl.Type
	__VDLType_set_301      *vdl.Type
	__VDLType_list_302     *vdl.Type
	__VDLType_list_303     *vdl.Type
	__VDLType_array_304    *vdl.Type
	__VDLType_union_305    *vdl.Type
	__VDLType_struct_306   *vdl.Type
	__VDLType_union_307    *vdl.Type
	__VDLType_list_308     *vdl.Type
	__VDLType_struct_309   *vdl.Type
	__VDLType_map_310      *vdl.Type
	__VDLType_map_311      *vdl.Type
	__VDLType_list_312     *vdl.Type
	__VDLType_array_313    *vdl.Type
	__VDLType_union_314    *vdl.Type
)

var __VDLInitCalled bool

// __VDLInit performs vdl initialization.  It is safe to call multiple times.
// If you have an init ordering issue, just insert the following line verbatim
// into your source files in this package, right after the "package foo" clause:
//
//    var _ = __VDLInit()
//
// The purpose of this function is to ensure that vdl initialization occurs in
// the right order, and very early in the init sequence.  In particular, vdl
// registration and package variable initialization needs to occur before
// functions like vdl.TypeOf will work properly.
//
// This function returns a dummy value, so that it can be used to initialize the
// first var in the file, to take advantage of Go's defined init order.
func __VDLInit() struct{} {
	if __VDLInitCalled {
		return struct{}{}
	}
	__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))
	vdl.Register((*VString)(nil))
	vdl.Register((*VByte)(nil))
	vdl.Register((*VEnumAbc)(nil))
	vdl.Register((*VEnumBcd)(nil))
	vdl.Register((*VStructEmpty)(nil))
	vdl.Register((*VNamedError)(nil))
	vdl.Register((*VUint16)(nil))
	vdl.Register((*VUint32)(nil))
	vdl.Register((*VUint64)(nil))
	vdl.Register((*VInt8)(nil))
	vdl.Register((*VInt16)(nil))
	vdl.Register((*VInt32)(nil))
	vdl.Register((*VInt64)(nil))
	vdl.Register((*VFloat32)(nil))
	vdl.Register((*VFloat64)(nil))
	vdl.Register((*VArray3_Any)(nil))
	vdl.Register((*VArray3_Bool)(nil))
	vdl.Register((*VArray3_VBool)(nil))
	vdl.Register((*VArray1_String)(nil))
	vdl.Register((*VArray3_VString)(nil))
	vdl.Register((*VArray2_TypeObject)(nil))
	vdl.Register((*VArray1_Byte)(nil))
	vdl.Register((*VArray2_VByte)(nil))
	vdl.Register((*VArray2_VEnumAbc)(nil))
	vdl.Register((*VArray2_VEnumBcd)(nil))
	vdl.Register((*VArray1_VStructEmpty)(nil))
	vdl.Register((*VArray1_VNamedError)(nil))
	vdl.Register((*VArray2_Error)(nil))
	vdl.Register((*VArray1_Uint32)(nil))
	vdl.Register((*VArray3_Uint64)(nil))
	vdl.Register((*VArray3_Int64)(nil))
	vdl.Register((*VArray1_OptVStructEmpty)(nil))
	vdl.Register((*VArray3_OptVNamedError)(nil))
	vdl.Register((*VList_Any)(nil))
	vdl.Register((*VList_Bool)(nil))
	vdl.Register((*VList_VBool)(nil))
	vdl.Register((*VList_String)(nil))
	vdl.Register((*VList_VString)(nil))
	vdl.Register((*VList_TypeObject)(nil))
	vdl.Register((*VList_Byte)(nil))
	vdl.Register((*VList_VByte)(nil))
	vdl.Register((*VList_VEnumAbc)(nil))
	vdl.Register((*VList_VEnumBcd)(nil))
	vdl.Register((*VList_VStructEmpty)(nil))
	vdl.Register((*VList_VNamedError)(nil))
	vdl.Register((*VList_Error)(nil))
	vdl.Register((*VList_VUint16)(nil))
	vdl.Register((*VList_VFloat32)(nil))
	vdl.Register((*VList_VFloat64)(nil))
	vdl.Register((*VList_OptVStructEmpty)(nil))
	vdl.Register((*VList_OptVNamedError)(nil))
	vdl.Register((*VSet_Bool)(nil))
	vdl.Register((*VSet_VBool)(nil))
	vdl.Register((*VSet_String)(nil))
	vdl.Register((*VSet_VString)(nil))
	vdl.Register((*VSet_Byte)(nil))
	vdl.Register((*VSet_VByte)(nil))
	vdl.Register((*VSet_VEnumAbc)(nil))
	vdl.Register((*VSet_VEnumBcd)(nil))
	vdl.Register((*VSet_VStructEmpty)(nil))
	vdl.Register((*VSet_VNamedError)(nil))
	vdl.Register((*VSet_Uint64)(nil))
	vdl.Register((*VSet_VUint64)(nil))
	vdl.Register((*VSet_Float32)(nil))
	vdl.Register((*VMap_Bool_Bool)(nil))
	vdl.Register((*VMap_VBool_VBool)(nil))
	vdl.Register((*VMap_String_String)(nil))
	vdl.Register((*VMap_VString_VString)(nil))
	vdl.Register((*VMap_Byte_Byte)(nil))
	vdl.Register((*VMap_VByte_VByte)(nil))
	vdl.Register((*VMap_VEnumAbc_VEnumAbc)(nil))
	vdl.Register((*VMap_VEnumBcd_VEnumBcd)(nil))
	vdl.Register((*VMap_VStructEmpty_VStructEmpty)(nil))
	vdl.Register((*VMap_VNamedError_VNamedError)(nil))
	vdl.Register((*VMap_VUint32_VUint32)(nil))
	vdl.Register((*VMap_VInt32_VInt32)(nil))
	vdl.Register((*VMap_Int64_Int64)(nil))
	vdl.Register((*VStructDepth1_All)(nil))
	vdl.Register((*VStructDepth1_Any)(nil))
	vdl.Register((*VStructDepth1_Bool)(nil))
	vdl.Register((*VStructDepth1_VBool)(nil))
	vdl.Register((*VStructDepth1_String)(nil))
	vdl.Register((*VStructDepth1_VString)(nil))
	vdl.Register((*VStructDepth1_TypeObject)(nil))
	vdl.Register((*VStructDepth1_Byte)(nil))
	vdl.Register((*VStructDepth1_VByte)(nil))
	vdl.Register((*VStructDepth1_VEnumAbc)(nil))
	vdl.Register((*VStructDepth1_VEnumBcd)(nil))
	vdl.Register((*VStructDepth1_VStructEmpty)(nil))
	vdl.Register((*VStructDepth1_VNamedError)(nil))
	vdl.Register((*VStructDepth1_Error)(nil))
	vdl.Register((*VStructDepth1_Uint16)(nil))
	vdl.Register((*VStructDepth1_VUint16)(nil))
	vdl.Register((*VStructDepth1_Uint32)(nil))
	vdl.Register((*VStructDepth1_VUint32)(nil))
	vdl.Register((*VStructDepth1_Uint64)(nil))
	vdl.Register((*VStructDepth1_VUint64)(nil))
	vdl.Register((*VStructDepth1_Int8)(nil))
	vdl.Register((*VStructDepth1_VInt8)(nil))
	vdl.Register((*VStructDepth1_Int16)(nil))
	vdl.Register((*VStructDepth1_VInt16)(nil))
	vdl.Register((*VStructDepth1_Int32)(nil))
	vdl.Register((*VStructDepth1_VInt32)(nil))
	vdl.Register((*VStructDepth1_Int64)(nil))
	vdl.Register((*VStructDepth1_VInt64)(nil))
	vdl.Register((*VStructDepth1_Float32)(nil))
	vdl.Register((*VStructDepth1_VFloat32)(nil))
	vdl.Register((*VStructDepth1_Float64)(nil))
	vdl.Register((*VStructDepth1_VFloat64)(nil))
	vdl.Register((*VStructDepth1_OptVStructEmpty)(nil))
	vdl.Register((*VStructDepth1_OptVNamedError)(nil))
	vdl.Register((*VUnionDepth1_All)(nil))
	vdl.Register((*VUnionDepth1_Any)(nil))
	vdl.Register((*VUnionDepth1_Bool)(nil))
	vdl.Register((*VUnionDepth1_VBool)(nil))
	vdl.Register((*VUnionDepth1_String)(nil))
	vdl.Register((*VUnionDepth1_VString)(nil))
	vdl.Register((*VUnionDepth1_TypeObject)(nil))
	vdl.Register((*VUnionDepth1_Byte)(nil))
	vdl.Register((*VUnionDepth1_VByte)(nil))
	vdl.Register((*VUnionDepth1_VEnumAbc)(nil))
	vdl.Register((*VUnionDepth1_VEnumBcd)(nil))
	vdl.Register((*VUnionDepth1_VStructEmpty)(nil))
	vdl.Register((*VUnionDepth1_VNamedError)(nil))
	vdl.Register((*VUnionDepth1_Error)(nil))
	vdl.Register((*VUnionDepth1_Uint16)(nil))
	vdl.Register((*VUnionDepth1_VUint16)(nil))
	vdl.Register((*VUnionDepth1_Uint32)(nil))
	vdl.Register((*VUnionDepth1_VUint32)(nil))
	vdl.Register((*VUnionDepth1_Uint64)(nil))
	vdl.Register((*VUnionDepth1_VUint64)(nil))
	vdl.Register((*VUnionDepth1_Int8)(nil))
	vdl.Register((*VUnionDepth1_VInt8)(nil))
	vdl.Register((*VUnionDepth1_Int16)(nil))
	vdl.Register((*VUnionDepth1_VInt16)(nil))
	vdl.Register((*VUnionDepth1_Int32)(nil))
	vdl.Register((*VUnionDepth1_VInt32)(nil))
	vdl.Register((*VUnionDepth1_Int64)(nil))
	vdl.Register((*VUnionDepth1_VInt64)(nil))
	vdl.Register((*VUnionDepth1_Float32)(nil))
	vdl.Register((*VUnionDepth1_VFloat32)(nil))
	vdl.Register((*VUnionDepth1_Float64)(nil))
	vdl.Register((*VUnionDepth1_VFloat64)(nil))
	vdl.Register((*VUnionDepth1_OptVStructEmpty)(nil))
	vdl.Register((*VUnionDepth1_OptVNamedError)(nil))
	vdl.Register((*VArray1_VArray3_Int64)(nil))
	vdl.Register((*VArray1_VList_Byte)(nil))
	vdl.Register((*VArray1_Set_VEnumBcd)(nil))
	vdl.Register((*VArray2_Map_Byte_Byte)(nil))
	vdl.Register((*VArray2_VStructDepth1_All)(nil))
	vdl.Register((*VArray3_VUnionDepth1_All)(nil))
	vdl.Register((*VArray3_OptVStructDepth1_VFloat32)(nil))
	vdl.Register((*VList_VArray1_VStructEmpty)(nil))
	vdl.Register((*VList_List_VString)(nil))
	vdl.Register((*VList_Set_VBool)(nil))
	vdl.Register((*VList_VMap_Byte_Byte)(nil))
	vdl.Register((*VList_VStructDepth1_All)(nil))
	vdl.Register((*VList_VUnionDepth1_All)(nil))
	vdl.Register((*VList_OptVStructDepth1_VEnumBcd)(nil))
	vdl.Register((*VSet_VArray1_VStructEmpty)(nil))
	vdl.Register((*VSet_VStructDepth1_VFloat64)(nil))
	vdl.Register((*VSet_VUnionDepth1_VInt8)(nil))
	vdl.Register((*VMap_VArray3_VBool_VArray3_VBool)(nil))
	vdl.Register((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))
	vdl.Register((*VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64)(nil))
	vdl.Register((*VStructDepth2_All)(nil))
	vdl.Register((*VStructDepth2_VArray2_TypeObject)(nil))
	vdl.Register((*VStructDepth2_VArray1_Uint32)(nil))
	vdl.Register((*VStructDepth2_List_Int16)(nil))
	vdl.Register((*VStructDepth2_VList_Any)(nil))
	vdl.Register((*VStructDepth2_Set_Float64)(nil))
	vdl.Register((*VStructDepth2_VSet_VEnumBcd)(nil))
	vdl.Register((*VStructDepth2_Map_Byte_Byte)(nil))
	vdl.Register((*VStructDepth2_Map_Uint32_Uint32)(nil))
	vdl.Register((*VStructDepth2_VStructDepth1_All)(nil))
	vdl.Register((*VStructDepth2_VStructDepth1_Bool)(nil))
	vdl.Register((*VStructDepth2_VUnionDepth1_All)(nil))
	vdl.Register((*VStructDepth2_VUnionDepth1_Float64)(nil))
	vdl.Register((*VStructDepth2_OptVStructDepth1_VEnumBcd)(nil))
	vdl.Register((*VStructDepth2_OptVStructDepth1_VUint16)(nil))
	vdl.Register((*VUnionDepth2_All)(nil))
	vdl.Register((*VUnionDepth2_VArray1_String)(nil))
	vdl.Register((*VUnionDepth2_VArray2_VByte)(nil))
	vdl.Register((*VUnionDepth2_VList_VByte)(nil))
	vdl.Register((*VUnionDepth2_VList_OptVNamedError)(nil))
	vdl.Register((*VUnionDepth2_VSet_VBool)(nil))
	vdl.Register((*VUnionDepth2_VSet_VNamedError)(nil))
	vdl.Register((*VUnionDepth2_Map_VBool_VBool)(nil))
	vdl.Register((*VUnionDepth2_VMap_VBool_VBool)(nil))
	vdl.Register((*VUnionDepth2_VStructDepth1_All)(nil))
	vdl.Register((*VUnionDepth2_VStructDepth1_Int8)(nil))
	vdl.Register((*VUnionDepth2_VUnionDepth1_All)(nil))
	vdl.Register((*VUnionDepth2_VUnionDepth1_VUint32)(nil))
	vdl.Register((*VUnionDepth2_OptVStructDepth1_VEnumBcd)(nil))
	vdl.Register((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil))
	vdl.Register((*VArray1_VArray1_VList_Byte)(nil))
	vdl.Register((*VArray2_List_VMap_VByte_VByte)(nil))
	vdl.Register((*VArray2_Set_VUnionDepth1_VNamedError)(nil))
	vdl.Register((*VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil))
	vdl.Register((*VArray2_VStructDepth2_All)(nil))
	vdl.Register((*VArray2_VUnionDepth2_All)(nil))
	vdl.Register((*VArray3_OptVStructDepth2_Set_Float64)(nil))
	vdl.Register((*VList_VArray3_VUnionDepth1_All)(nil))
	vdl.Register((*VList_List_VMap_VByte_VByte)(nil))
	vdl.Register((*VList_VSet_VArray1_VStructEmpty)(nil))
	vdl.Register((*VList_VMap_VArray3_VBool_VArray3_VBool)(nil))
	vdl.Register((*VList_VStructDepth2_All)(nil))
	vdl.Register((*VList_VUnionDepth2_All)(nil))
	vdl.Register((*VList_OptVStructDepth2_Set_Float64)(nil))
	vdl.Register((*VSet_VArray1_VArray3_Int64)(nil))
	vdl.Register((*VSet_VStructDepth2_VStructDepth1_Bool)(nil))
	vdl.Register((*VSet_VUnionDepth2_VArray1_String)(nil))
	vdl.Register((*VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64)(nil))
	vdl.Register((*VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32)(nil))
	vdl.Register((*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)(nil))
	vdl.Register((*VStructDepth3_All)(nil))
	vdl.Register((*VStructDepth3_VArray1_Set_VEnumBcd)(nil))
	vdl.Register((*VStructDepth3_List_VUnionDepth1_All)(nil))
	vdl.Register((*VStructDepth3_VSet_VArray1_VStructEmpty)(nil))
	vdl.Register((*VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil))
	vdl.Register((*VStructDepth3_VStructDepth2_All)(nil))
	vdl.Register((*VStructDepth3_VUnionDepth2_All)(nil))
	vdl.Register((*VStructDepth3_OptVStructDepth2_Set_Float64)(nil))
	vdl.Register((*VUnionDepth3_All)(nil))
	vdl.Register((*VUnionDepth3_VArray3_OptVStructDepth1_VFloat32)(nil))
	vdl.Register((*VUnionDepth3_List_VList_Error)(nil))
	vdl.Register((*VUnionDepth3_Set_VStructDepth1_String)(nil))
	vdl.Register((*VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))
	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))
	vdl.Register((*XEnumAbc)(nil))
	vdl.Register((*XEnumBcd)(nil))
	vdl.Register((*XStructEmpty)(nil))
	vdl.Register((*XNamedError)(nil))
	vdl.Register((*XUint16)(nil))
	vdl.Register((*XUint32)(nil))
	vdl.Register((*XUint64)(nil))
	vdl.Register((*XInt8)(nil))
	vdl.Register((*XInt16)(nil))
	vdl.Register((*XInt32)(nil))
	vdl.Register((*XInt64)(nil))
	vdl.Register((*XFloat32)(nil))
	vdl.Register((*XFloat64)(nil))
	vdl.Register((*XArray3_Any)(nil))
	vdl.Register((*XArray3_Bool)(nil))
	vdl.Register((*XArray3_XBool)(nil))
	vdl.Register((*XArray1_String)(nil))
	vdl.Register((*XArray3_XString)(nil))
	vdl.Register((*XArray2_TypeObject)(nil))
	vdl.Register((*XArray1_Byte)(nil))
	vdl.Register((*XArray2_XByte)(nil))
	vdl.Register((*XArray2_XEnumAbc)(nil))
	vdl.Register((*XArray2_XEnumBcd)(nil))
	vdl.Register((*XArray1_XStructEmpty)(nil))
	vdl.Register((*XArray1_XNamedError)(nil))
	vdl.Register((*XArray2_Error)(nil))
	vdl.Register((*XArray1_Uint32)(nil))
	vdl.Register((*XArray3_Uint64)(nil))
	vdl.Register((*XArray3_Int64)(nil))
	vdl.Register((*XArray1_OptXStructEmpty)(nil))
	vdl.Register((*XArray3_OptXNamedError)(nil))
	vdl.Register((*XList_Any)(nil))
	vdl.Register((*XList_Bool)(nil))
	vdl.Register((*XList_XBool)(nil))
	vdl.Register((*XList_String)(nil))
	vdl.Register((*XList_XString)(nil))
	vdl.Register((*XList_TypeObject)(nil))
	vdl.Register((*XList_Byte)(nil))
	vdl.Register((*XList_XByte)(nil))
	vdl.Register((*XList_XEnumAbc)(nil))
	vdl.Register((*XList_XEnumBcd)(nil))
	vdl.Register((*XList_XStructEmpty)(nil))
	vdl.Register((*XList_XNamedError)(nil))
	vdl.Register((*XList_Error)(nil))
	vdl.Register((*XList_XUint16)(nil))
	vdl.Register((*XList_XFloat32)(nil))
	vdl.Register((*XList_XFloat64)(nil))
	vdl.Register((*XList_OptXStructEmpty)(nil))
	vdl.Register((*XList_OptXNamedError)(nil))
	vdl.Register((*XSet_Bool)(nil))
	vdl.Register((*XSet_XBool)(nil))
	vdl.Register((*XSet_String)(nil))
	vdl.Register((*XSet_XString)(nil))
	vdl.Register((*XSet_Byte)(nil))
	vdl.Register((*XSet_XByte)(nil))
	vdl.Register((*XSet_XEnumAbc)(nil))
	vdl.Register((*XSet_XEnumBcd)(nil))
	vdl.Register((*XSet_XStructEmpty)(nil))
	vdl.Register((*XSet_XNamedError)(nil))
	vdl.Register((*XSet_Uint64)(nil))
	vdl.Register((*XSet_XUint64)(nil))
	vdl.Register((*XSet_Float32)(nil))
	vdl.Register((*XMap_Bool_Bool)(nil))
	vdl.Register((*XMap_XBool_XBool)(nil))
	vdl.Register((*XMap_String_String)(nil))
	vdl.Register((*XMap_XString_XString)(nil))
	vdl.Register((*XMap_Byte_Byte)(nil))
	vdl.Register((*XMap_XByte_XByte)(nil))
	vdl.Register((*XMap_XEnumAbc_XEnumAbc)(nil))
	vdl.Register((*XMap_XEnumBcd_XEnumBcd)(nil))
	vdl.Register((*XMap_XStructEmpty_XStructEmpty)(nil))
	vdl.Register((*XMap_XNamedError_XNamedError)(nil))
	vdl.Register((*XMap_XUint32_XUint32)(nil))
	vdl.Register((*XMap_XInt32_XInt32)(nil))
	vdl.Register((*XMap_Int64_Int64)(nil))
	vdl.Register((*XStructDepth1_All)(nil))
	vdl.Register((*XStructDepth1_Any)(nil))
	vdl.Register((*XStructDepth1_Bool)(nil))
	vdl.Register((*XStructDepth1_XBool)(nil))
	vdl.Register((*XStructDepth1_String)(nil))
	vdl.Register((*XStructDepth1_XString)(nil))
	vdl.Register((*XStructDepth1_TypeObject)(nil))
	vdl.Register((*XStructDepth1_Byte)(nil))
	vdl.Register((*XStructDepth1_XByte)(nil))
	vdl.Register((*XStructDepth1_XEnumAbc)(nil))
	vdl.Register((*XStructDepth1_XEnumBcd)(nil))
	vdl.Register((*XStructDepth1_XStructEmpty)(nil))
	vdl.Register((*XStructDepth1_XNamedError)(nil))
	vdl.Register((*XStructDepth1_Error)(nil))
	vdl.Register((*XStructDepth1_Uint16)(nil))
	vdl.Register((*XStructDepth1_XUint16)(nil))
	vdl.Register((*XStructDepth1_Uint32)(nil))
	vdl.Register((*XStructDepth1_XUint32)(nil))
	vdl.Register((*XStructDepth1_Uint64)(nil))
	vdl.Register((*XStructDepth1_XUint64)(nil))
	vdl.Register((*XStructDepth1_Int8)(nil))
	vdl.Register((*XStructDepth1_XInt8)(nil))
	vdl.Register((*XStructDepth1_Int16)(nil))
	vdl.Register((*XStructDepth1_XInt16)(nil))
	vdl.Register((*XStructDepth1_Int32)(nil))
	vdl.Register((*XStructDepth1_XInt32)(nil))
	vdl.Register((*XStructDepth1_Int64)(nil))
	vdl.Register((*XStructDepth1_XInt64)(nil))
	vdl.Register((*XStructDepth1_Float32)(nil))
	vdl.Register((*XStructDepth1_XFloat32)(nil))
	vdl.Register((*XStructDepth1_Float64)(nil))
	vdl.Register((*XStructDepth1_XFloat64)(nil))
	vdl.Register((*XStructDepth1_OptXStructEmpty)(nil))
	vdl.Register((*XStructDepth1_OptXNamedError)(nil))
	vdl.Register((*XUnionDepth1_All)(nil))
	vdl.Register((*XUnionDepth1_Any)(nil))
	vdl.Register((*XUnionDepth1_Bool)(nil))
	vdl.Register((*XUnionDepth1_XBool)(nil))
	vdl.Register((*XUnionDepth1_String)(nil))
	vdl.Register((*XUnionDepth1_XString)(nil))
	vdl.Register((*XUnionDepth1_TypeObject)(nil))
	vdl.Register((*XUnionDepth1_Byte)(nil))
	vdl.Register((*XUnionDepth1_XByte)(nil))
	vdl.Register((*XUnionDepth1_XEnumAbc)(nil))
	vdl.Register((*XUnionDepth1_XEnumBcd)(nil))
	vdl.Register((*XUnionDepth1_XStructEmpty)(nil))
	vdl.Register((*XUnionDepth1_XNamedError)(nil))
	vdl.Register((*XUnionDepth1_Error)(nil))
	vdl.Register((*XUnionDepth1_Uint16)(nil))
	vdl.Register((*XUnionDepth1_XUint16)(nil))
	vdl.Register((*XUnionDepth1_Uint32)(nil))
	vdl.Register((*XUnionDepth1_XUint32)(nil))
	vdl.Register((*XUnionDepth1_Uint64)(nil))
	vdl.Register((*XUnionDepth1_XUint64)(nil))
	vdl.Register((*XUnionDepth1_Int8)(nil))
	vdl.Register((*XUnionDepth1_XInt8)(nil))
	vdl.Register((*XUnionDepth1_Int16)(nil))
	vdl.Register((*XUnionDepth1_XInt16)(nil))
	vdl.Register((*XUnionDepth1_Int32)(nil))
	vdl.Register((*XUnionDepth1_XInt32)(nil))
	vdl.Register((*XUnionDepth1_Int64)(nil))
	vdl.Register((*XUnionDepth1_XInt64)(nil))
	vdl.Register((*XUnionDepth1_Float32)(nil))
	vdl.Register((*XUnionDepth1_XFloat32)(nil))
	vdl.Register((*XUnionDepth1_Float64)(nil))
	vdl.Register((*XUnionDepth1_XFloat64)(nil))
	vdl.Register((*XUnionDepth1_OptXStructEmpty)(nil))
	vdl.Register((*XUnionDepth1_OptXNamedError)(nil))
	vdl.Register((*XArray1_XArray3_Int64)(nil))
	vdl.Register((*XArray1_XList_Byte)(nil))
	vdl.Register((*XArray1_Set_XEnumBcd)(nil))
	vdl.Register((*XArray2_Map_Byte_Byte)(nil))
	vdl.Register((*XArray2_XStructDepth1_All)(nil))
	vdl.Register((*XArray3_XUnionDepth1_All)(nil))
	vdl.Register((*XArray3_OptXStructDepth1_XFloat32)(nil))
	vdl.Register((*XList_XArray1_XStructEmpty)(nil))
	vdl.Register((*XList_List_XString)(nil))
	vdl.Register((*XList_Set_XBool)(nil))
	vdl.Register((*XList_XMap_Byte_Byte)(nil))
	vdl.Register((*XList_XStructDepth1_All)(nil))
	vdl.Register((*XList_XUnionDepth1_All)(nil))
	vdl.Register((*XList_OptXStructDepth1_XEnumBcd)(nil))
	vdl.Register((*XSet_XArray1_XStructEmpty)(nil))
	vdl.Register((*XSet_XStructDepth1_XFloat64)(nil))
	vdl.Register((*XSet_XUnionDepth1_XInt8)(nil))
	vdl.Register((*XMap_XArray3_XBool_XArray3_XBool)(nil))
	vdl.Register((*XMap_XStructDepth1_XBool_XStructDepth1_XBool)(nil))
	vdl.Register((*XMap_XUnionDepth1_XUint64_XUnionDepth1_XUint64)(nil))
	vdl.Register((*XStructDepth2_All)(nil))
	vdl.Register((*XStructDepth2_XArray2_TypeObject)(nil))
	vdl.Register((*XStructDepth2_XArray1_Uint32)(nil))
	vdl.Register((*XStructDepth2_List_Int16)(nil))
	vdl.Register((*XStructDepth2_XList_Any)(nil))
	vdl.Register((*XStructDepth2_Set_Float64)(nil))
	vdl.Register((*XStructDepth2_XSet_XEnumBcd)(nil))
	vdl.Register((*XStructDepth2_Map_Byte_Byte)(nil))
	vdl.Register((*XStructDepth2_Map_Uint32_Uint32)(nil))
	vdl.Register((*XStructDepth2_XStructDepth1_All)(nil))
	vdl.Register((*XStructDepth2_XStructDepth1_Bool)(nil))
	vdl.Register((*XStructDepth2_XUnionDepth1_All)(nil))
	vdl.Register((*XStructDepth2_XUnionDepth1_Float64)(nil))
	vdl.Register((*XStructDepth2_OptXStructDepth1_XEnumBcd)(nil))
	vdl.Register((*XStructDepth2_OptXStructDepth1_XUint16)(nil))
	vdl.Register((*XUnionDepth2_All)(nil))
	vdl.Register((*XUnionDepth2_XArray1_String)(nil))
	vdl.Register((*XUnionDepth2_XArray2_XByte)(nil))
	vdl.Register((*XUnionDepth2_XList_XByte)(nil))
	vdl.Register((*XUnionDepth2_XList_OptXNamedError)(nil))
	vdl.Register((*XUnionDepth2_XSet_XBool)(nil))
	vdl.Register((*XUnionDepth2_XSet_XNamedError)(nil))
	vdl.Register((*XUnionDepth2_Map_XBool_XBool)(nil))
	vdl.Register((*XUnionDepth2_XMap_XBool_XBool)(nil))
	vdl.Register((*XUnionDepth2_XStructDepth1_All)(nil))
	vdl.Register((*XUnionDepth2_XStructDepth1_Int8)(nil))
	vdl.Register((*XUnionDepth2_XUnionDepth1_All)(nil))
	vdl.Register((*XUnionDepth2_XUnionDepth1_XUint32)(nil))
	vdl.Register((*XUnionDepth2_OptXStructDepth1_XEnumBcd)(nil))
	vdl.Register((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil))
	vdl.Register((*XArray1_XArray1_XList_Byte)(nil))
	vdl.Register((*XArray2_List_XMap_XByte_XByte)(nil))
	vdl.Register((*XArray2_Set_XUnionDepth1_XNamedError)(nil))
	vdl.Register((*XArray3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64)(nil))
	vdl.Register((*XArray2_XStructDepth2_All)(nil))
	vdl.Register((*XArray2_XUnionDepth2_All)(nil))
	vdl.Register((*XArray3_OptXStructDepth2_Set_Float64)(nil))
	vdl.Register((*XList_XArray3_XUnionDepth1_All)(nil))
	vdl.Register((*XList_List_XMap_XByte_XByte)(nil))
	vdl.Register((*XList_XSet_XArray1_XStructEmpty)(nil))
	vdl.Register((*XList_XMap_XArray3_XBool_XArray3_XBool)(nil))
	vdl.Register((*XList_XStructDepth2_All)(nil))
	vdl.Register((*XList_XUnionDepth2_All)(nil))
	vdl.Register((*XList_OptXStructDepth2_Set_Float64)(nil))
	vdl.Register((*XSet_XArray1_XArray3_Int64)(nil))
	vdl.Register((*XSet_XStructDepth2_XStructDepth1_Bool)(nil))
	vdl.Register((*XSet_XUnionDepth2_XArray1_String)(nil))
	vdl.Register((*XMap_XArray1_XArray3_Int64_XArray1_XArray3_Int64)(nil))
	vdl.Register((*XMap_XStructDepth2_XArray1_Uint32_XStructDepth2_XArray1_Uint32)(nil))
	vdl.Register((*XMap_XUnionDepth2_XArray2_XByte_XUnionDepth2_XArray2_XByte)(nil))
	vdl.Register((*XStructDepth3_All)(nil))
	vdl.Register((*XStructDepth3_XArray1_Set_XEnumBcd)(nil))
	vdl.Register((*XStructDepth3_List_XUnionDepth1_All)(nil))
	vdl.Register((*XStructDepth3_XSet_XArray1_XStructEmpty)(nil))
	vdl.Register((*XStructDepth3_Map_XUnionDepth1_Float64_XUnionDepth1_Float64)(nil))
	vdl.Register((*XStructDepth3_XStructDepth2_All)(nil))
	vdl.Register((*XStructDepth3_XUnionDepth2_All)(nil))
	vdl.Register((*XStructDepth3_OptXStructDepth2_Set_Float64)(nil))
	vdl.Register((*XUnionDepth3_All)(nil))
	vdl.Register((*XUnionDepth3_XArray3_OptXStructDepth1_XFloat32)(nil))
	vdl.Register((*XUnionDepth3_List_XList_Error)(nil))
	vdl.Register((*XUnionDepth3_Set_XStructDepth1_String)(nil))
	vdl.Register((*XUnionDepth3_XMap_XStructDepth1_XBool_XStructDepth1_XBool)(nil))
	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))

	// Initialize type definitions.
	__VDLType_struct_1 = vdl.TypeOf((*vdlEntry)(nil)).Elem()
	__VDLType_bool_2 = vdl.TypeOf((*VBool)(nil))
	__VDLType_string_3 = vdl.TypeOf((*VString)(nil))
	__VDLType_byte_4 = vdl.TypeOf((*VByte)(nil))
	__VDLType_enum_5 = vdl.TypeOf((*VEnumAbc)(nil))
	__VDLType_enum_6 = vdl.TypeOf((*VEnumBcd)(nil))
	__VDLType_struct_7 = vdl.TypeOf((*VStructEmpty)(nil)).Elem()
	__VDLType_struct_8 = vdl.TypeOf((*VNamedError)(nil)).Elem()
	__VDLType_uint16_9 = vdl.TypeOf((*VUint16)(nil))
	__VDLType_uint32_10 = vdl.TypeOf((*VUint32)(nil))
	__VDLType_uint64_11 = vdl.TypeOf((*VUint64)(nil))
	__VDLType_int8_12 = vdl.TypeOf((*VInt8)(nil))
	__VDLType_int16_13 = vdl.TypeOf((*VInt16)(nil))
	__VDLType_int32_14 = vdl.TypeOf((*VInt32)(nil))
	__VDLType_int64_15 = vdl.TypeOf((*VInt64)(nil))
	__VDLType_float32_16 = vdl.TypeOf((*VFloat32)(nil))
	__VDLType_float64_17 = vdl.TypeOf((*VFloat64)(nil))
	__VDLType_array_18 = vdl.TypeOf((*VArray3_Any)(nil))
	__VDLType_array_19 = vdl.TypeOf((*VArray3_Bool)(nil))
	__VDLType_array_20 = vdl.TypeOf((*VArray3_VBool)(nil))
	__VDLType_array_21 = vdl.TypeOf((*VArray1_String)(nil))
	__VDLType_array_22 = vdl.TypeOf((*VArray3_VString)(nil))
	__VDLType_array_23 = vdl.TypeOf((*VArray2_TypeObject)(nil))
	__VDLType_array_24 = vdl.TypeOf((*VArray1_Byte)(nil))
	__VDLType_array_25 = vdl.TypeOf((*VArray2_VByte)(nil))
	__VDLType_array_26 = vdl.TypeOf((*VArray2_VEnumAbc)(nil))
	__VDLType_array_27 = vdl.TypeOf((*VArray2_VEnumBcd)(nil))
	__VDLType_array_28 = vdl.TypeOf((*VArray1_VStructEmpty)(nil))
	__VDLType_array_29 = vdl.TypeOf((*VArray1_VNamedError)(nil))
	__VDLType_array_30 = vdl.TypeOf((*VArray2_Error)(nil))
	__VDLType_array_31 = vdl.TypeOf((*VArray1_Uint32)(nil))
	__VDLType_array_32 = vdl.TypeOf((*VArray3_Uint64)(nil))
	__VDLType_array_33 = vdl.TypeOf((*VArray3_Int64)(nil))
	__VDLType_array_34 = vdl.TypeOf((*VArray1_OptVStructEmpty)(nil))
	__VDLType_optional_35 = vdl.TypeOf((*VStructEmpty)(nil))
	__VDLType_array_36 = vdl.TypeOf((*VArray3_OptVNamedError)(nil))
	__VDLType_optional_37 = vdl.TypeOf((*VNamedError)(nil))
	__VDLType_list_38 = vdl.TypeOf((*VList_Any)(nil))
	__VDLType_list_39 = vdl.TypeOf((*VList_Bool)(nil))
	__VDLType_list_40 = vdl.TypeOf((*VList_VBool)(nil))
	__VDLType_list_41 = vdl.TypeOf((*VList_String)(nil))
	__VDLType_list_42 = vdl.TypeOf((*VList_VString)(nil))
	__VDLType_list_43 = vdl.TypeOf((*VList_TypeObject)(nil))
	__VDLType_list_44 = vdl.TypeOf((*VList_Byte)(nil))
	__VDLType_list_45 = vdl.TypeOf((*VList_VByte)(nil))
	__VDLType_list_46 = vdl.TypeOf((*VList_VEnumAbc)(nil))
	__VDLType_list_47 = vdl.TypeOf((*VList_VEnumBcd)(nil))
	__VDLType_list_48 = vdl.TypeOf((*VList_VStructEmpty)(nil))
	__VDLType_list_49 = vdl.TypeOf((*VList_VNamedError)(nil))
	__VDLType_list_50 = vdl.TypeOf((*VList_Error)(nil))
	__VDLType_list_51 = vdl.TypeOf((*VList_VUint16)(nil))
	__VDLType_list_52 = vdl.TypeOf((*VList_VFloat32)(nil))
	__VDLType_list_53 = vdl.TypeOf((*VList_VFloat64)(nil))
	__VDLType_list_54 = vdl.TypeOf((*VList_OptVStructEmpty)(nil))
	__VDLType_list_55 = vdl.TypeOf((*VList_OptVNamedError)(nil))
	__VDLType_set_56 = vdl.TypeOf((*VSet_Bool)(nil))
	__VDLType_set_57 = vdl.TypeOf((*VSet_VBool)(nil))
	__VDLType_set_58 = vdl.TypeOf((*VSet_String)(nil))
	__VDLType_set_59 = vdl.TypeOf((*VSet_VString)(nil))
	__VDLType_set_60 = vdl.TypeOf((*VSet_Byte)(nil))
	__VDLType_set_61 = vdl.TypeOf((*VSet_VByte)(nil))
	__VDLType_set_62 = vdl.TypeOf((*VSet_VEnumAbc)(nil))
	__VDLType_set_63 = vdl.TypeOf((*VSet_VEnumBcd)(nil))
	__VDLType_set_64 = vdl.TypeOf((*VSet_VStructEmpty)(nil))
	__VDLType_set_65 = vdl.TypeOf((*VSet_VNamedError)(nil))
	__VDLType_set_66 = vdl.TypeOf((*VSet_Uint64)(nil))
	__VDLType_set_67 = vdl.TypeOf((*VSet_VUint64)(nil))
	__VDLType_set_68 = vdl.TypeOf((*VSet_Float32)(nil))
	__VDLType_map_69 = vdl.TypeOf((*VMap_Bool_Bool)(nil))
	__VDLType_map_70 = vdl.TypeOf((*VMap_VBool_VBool)(nil))
	__VDLType_map_71 = vdl.TypeOf((*VMap_String_String)(nil))
	__VDLType_map_72 = vdl.TypeOf((*VMap_VString_VString)(nil))
	__VDLType_map_73 = vdl.TypeOf((*VMap_Byte_Byte)(nil))
	__VDLType_map_74 = vdl.TypeOf((*VMap_VByte_VByte)(nil))
	__VDLType_map_75 = vdl.TypeOf((*VMap_VEnumAbc_VEnumAbc)(nil))
	__VDLType_map_76 = vdl.TypeOf((*VMap_VEnumBcd_VEnumBcd)(nil))
	__VDLType_map_77 = vdl.TypeOf((*VMap_VStructEmpty_VStructEmpty)(nil))
	__VDLType_map_78 = vdl.TypeOf((*VMap_VNamedError_VNamedError)(nil))
	__VDLType_map_79 = vdl.TypeOf((*VMap_VUint32_VUint32)(nil))
	__VDLType_map_80 = vdl.TypeOf((*VMap_VInt32_VInt32)(nil))
	__VDLType_map_81 = vdl.TypeOf((*VMap_Int64_Int64)(nil))
	__VDLType_struct_82 = vdl.TypeOf((*VStructDepth1_All)(nil)).Elem()
	__VDLType_struct_83 = vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem()
	__VDLType_struct_84 = vdl.TypeOf((*VStructDepth1_Bool)(nil)).Elem()
	__VDLType_struct_85 = vdl.TypeOf((*VStructDepth1_VBool)(nil)).Elem()
	__VDLType_struct_86 = vdl.TypeOf((*VStructDepth1_String)(nil)).Elem()
	__VDLType_struct_87 = vdl.TypeOf((*VStructDepth1_VString)(nil)).Elem()
	__VDLType_struct_88 = vdl.TypeOf((*VStructDepth1_TypeObject)(nil)).Elem()
	__VDLType_struct_89 = vdl.TypeOf((*VStructDepth1_Byte)(nil)).Elem()
	__VDLType_struct_90 = vdl.TypeOf((*VStructDepth1_VByte)(nil)).Elem()
	__VDLType_struct_91 = vdl.TypeOf((*VStructDepth1_VEnumAbc)(nil)).Elem()
	__VDLType_struct_92 = vdl.TypeOf((*VStructDepth1_VEnumBcd)(nil)).Elem()
	__VDLType_struct_93 = vdl.TypeOf((*VStructDepth1_VStructEmpty)(nil)).Elem()
	__VDLType_struct_94 = vdl.TypeOf((*VStructDepth1_VNamedError)(nil)).Elem()
	__VDLType_struct_95 = vdl.TypeOf((*VStructDepth1_Error)(nil)).Elem()
	__VDLType_struct_96 = vdl.TypeOf((*VStructDepth1_Uint16)(nil)).Elem()
	__VDLType_struct_97 = vdl.TypeOf((*VStructDepth1_VUint16)(nil)).Elem()
	__VDLType_struct_98 = vdl.TypeOf((*VStructDepth1_Uint32)(nil)).Elem()
	__VDLType_struct_99 = vdl.TypeOf((*VStructDepth1_VUint32)(nil)).Elem()
	__VDLType_struct_100 = vdl.TypeOf((*VStructDepth1_Uint64)(nil)).Elem()
	__VDLType_struct_101 = vdl.TypeOf((*VStructDepth1_VUint64)(nil)).Elem()
	__VDLType_struct_102 = vdl.TypeOf((*VStructDepth1_Int8)(nil)).Elem()
	__VDLType_struct_103 = vdl.TypeOf((*VStructDepth1_VInt8)(nil)).Elem()
	__VDLType_struct_104 = vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem()
	__VDLType_struct_105 = vdl.TypeOf((*VStructDepth1_VInt16)(nil)).Elem()
	__VDLType_struct_106 = vdl.TypeOf((*VStructDepth1_Int32)(nil)).Elem()
	__VDLType_struct_107 = vdl.TypeOf((*VStructDepth1_VInt32)(nil)).Elem()
	__VDLType_struct_108 = vdl.TypeOf((*VStructDepth1_Int64)(nil)).Elem()
	__VDLType_struct_109 = vdl.TypeOf((*VStructDepth1_VInt64)(nil)).Elem()
	__VDLType_struct_110 = vdl.TypeOf((*VStructDepth1_Float32)(nil)).Elem()
	__VDLType_struct_111 = vdl.TypeOf((*VStructDepth1_VFloat32)(nil)).Elem()
	__VDLType_struct_112 = vdl.TypeOf((*VStructDepth1_Float64)(nil)).Elem()
	__VDLType_struct_113 = vdl.TypeOf((*VStructDepth1_VFloat64)(nil)).Elem()
	__VDLType_struct_114 = vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem()
	__VDLType_struct_115 = vdl.TypeOf((*VStructDepth1_OptVNamedError)(nil)).Elem()
	__VDLType_union_116 = vdl.TypeOf((*VUnionDepth1_All)(nil))
	__VDLType_union_117 = vdl.TypeOf((*VUnionDepth1_Any)(nil))
	__VDLType_union_118 = vdl.TypeOf((*VUnionDepth1_Bool)(nil))
	__VDLType_union_119 = vdl.TypeOf((*VUnionDepth1_VBool)(nil))
	__VDLType_union_120 = vdl.TypeOf((*VUnionDepth1_String)(nil))
	__VDLType_union_121 = vdl.TypeOf((*VUnionDepth1_VString)(nil))
	__VDLType_union_122 = vdl.TypeOf((*VUnionDepth1_TypeObject)(nil))
	__VDLType_union_123 = vdl.TypeOf((*VUnionDepth1_Byte)(nil))
	__VDLType_union_124 = vdl.TypeOf((*VUnionDepth1_VByte)(nil))
	__VDLType_union_125 = vdl.TypeOf((*VUnionDepth1_VEnumAbc)(nil))
	__VDLType_union_126 = vdl.TypeOf((*VUnionDepth1_VEnumBcd)(nil))
	__VDLType_union_127 = vdl.TypeOf((*VUnionDepth1_VStructEmpty)(nil))
	__VDLType_union_128 = vdl.TypeOf((*VUnionDepth1_VNamedError)(nil))
	__VDLType_union_129 = vdl.TypeOf((*VUnionDepth1_Error)(nil))
	__VDLType_union_130 = vdl.TypeOf((*VUnionDepth1_Uint16)(nil))
	__VDLType_union_131 = vdl.TypeOf((*VUnionDepth1_VUint16)(nil))
	__VDLType_union_132 = vdl.TypeOf((*VUnionDepth1_Uint32)(nil))
	__VDLType_union_133 = vdl.TypeOf((*VUnionDepth1_VUint32)(nil))
	__VDLType_union_134 = vdl.TypeOf((*VUnionDepth1_Uint64)(nil))
	__VDLType_union_135 = vdl.TypeOf((*VUnionDepth1_VUint64)(nil))
	__VDLType_union_136 = vdl.TypeOf((*VUnionDepth1_Int8)(nil))
	__VDLType_union_137 = vdl.TypeOf((*VUnionDepth1_VInt8)(nil))
	__VDLType_union_138 = vdl.TypeOf((*VUnionDepth1_Int16)(nil))
	__VDLType_union_139 = vdl.TypeOf((*VUnionDepth1_VInt16)(nil))
	__VDLType_union_140 = vdl.TypeOf((*VUnionDepth1_Int32)(nil))
	__VDLType_union_141 = vdl.TypeOf((*VUnionDepth1_VInt32)(nil))
	__VDLType_union_142 = vdl.TypeOf((*VUnionDepth1_Int64)(nil))
	__VDLType_union_143 = vdl.TypeOf((*VUnionDepth1_VInt64)(nil))
	__VDLType_union_144 = vdl.TypeOf((*VUnionDepth1_Float32)(nil))
	__VDLType_union_145 = vdl.TypeOf((*VUnionDepth1_VFloat32)(nil))
	__VDLType_union_146 = vdl.TypeOf((*VUnionDepth1_Float64)(nil))
	__VDLType_union_147 = vdl.TypeOf((*VUnionDepth1_VFloat64)(nil))
	__VDLType_union_148 = vdl.TypeOf((*VUnionDepth1_OptVStructEmpty)(nil))
	__VDLType_union_149 = vdl.TypeOf((*VUnionDepth1_OptVNamedError)(nil))
	__VDLType_array_150 = vdl.TypeOf((*VArray1_VArray3_Int64)(nil))
	__VDLType_array_151 = vdl.TypeOf((*VArray1_VList_Byte)(nil))
	__VDLType_array_152 = vdl.TypeOf((*VArray1_Set_VEnumBcd)(nil))
	__VDLType_set_153 = vdl.TypeOf((*map[VEnumBcd]struct{})(nil))
	__VDLType_array_154 = vdl.TypeOf((*VArray2_Map_Byte_Byte)(nil))
	__VDLType_map_155 = vdl.TypeOf((*map[byte]byte)(nil))
	__VDLType_array_156 = vdl.TypeOf((*VArray2_VStructDepth1_All)(nil))
	__VDLType_array_157 = vdl.TypeOf((*VArray3_VUnionDepth1_All)(nil))
	__VDLType_array_158 = vdl.TypeOf((*VArray3_OptVStructDepth1_VFloat32)(nil))
	__VDLType_optional_159 = vdl.TypeOf((*VStructDepth1_VFloat32)(nil))
	__VDLType_list_160 = vdl.TypeOf((*VList_VArray1_VStructEmpty)(nil))
	__VDLType_list_161 = vdl.TypeOf((*VList_List_VString)(nil))
	__VDLType_list_162 = vdl.TypeOf((*[]VString)(nil))
	__VDLType_list_163 = vdl.TypeOf((*VList_Set_VBool)(nil))
	__VDLType_set_164 = vdl.TypeOf((*map[VBool]struct{})(nil))
	__VDLType_list_165 = vdl.TypeOf((*VList_VMap_Byte_Byte)(nil))
	__VDLType_list_166 = vdl.TypeOf((*VList_VStructDepth1_All)(nil))
	__VDLType_list_167 = vdl.TypeOf((*VList_VUnionDepth1_All)(nil))
	__VDLType_list_168 = vdl.TypeOf((*VList_OptVStructDepth1_VEnumBcd)(nil))
	__VDLType_optional_169 = vdl.TypeOf((*VStructDepth1_VEnumBcd)(nil))
	__VDLType_set_170 = vdl.TypeOf((*VSet_VArray1_VStructEmpty)(nil))
	__VDLType_set_171 = vdl.TypeOf((*VSet_VStructDepth1_VFloat64)(nil))
	__VDLType_set_172 = vdl.TypeOf((*VSet_VUnionDepth1_VInt8)(nil))
	__VDLType_map_173 = vdl.TypeOf((*VMap_VArray3_VBool_VArray3_VBool)(nil))
	__VDLType_map_174 = vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))
	__VDLType_map_175 = vdl.TypeOf((*VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64)(nil))
	__VDLType_struct_176 = vdl.TypeOf((*VStructDepth2_All)(nil)).Elem()
	__VDLType_list_177 = vdl.TypeOf((*[]int16)(nil))
	__VDLType_set_178 = vdl.TypeOf((*map[float64]struct{})(nil))
	__VDLType_map_179 = vdl.TypeOf((*map[uint32]uint32)(nil))
	__VDLType_optional_180 = vdl.TypeOf((*VStructDepth1_VUint16)(nil))
	__VDLType_struct_181 = vdl.TypeOf((*VStructDepth2_VArray2_TypeObject)(nil)).Elem()
	__VDLType_struct_182 = vdl.TypeOf((*VStructDepth2_VArray1_Uint32)(nil)).Elem()
	__VDLType_struct_183 = vdl.TypeOf((*VStructDepth2_List_Int16)(nil)).Elem()
	__VDLType_struct_184 = vdl.TypeOf((*VStructDepth2_VList_Any)(nil)).Elem()
	__VDLType_struct_185 = vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem()
	__VDLType_struct_186 = vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem()
	__VDLType_struct_187 = vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem()
	__VDLType_struct_188 = vdl.TypeOf((*VStructDepth2_Map_Uint32_Uint32)(nil)).Elem()
	__VDLType_struct_189 = vdl.TypeOf((*VStructDepth2_VStructDepth1_All)(nil)).Elem()
	__VDLType_struct_190 = vdl.TypeOf((*VStructDepth2_VStructDepth1_Bool)(nil)).Elem()
	__VDLType_struct_191 = vdl.TypeOf((*VStructDepth2_VUnionDepth1_All)(nil)).Elem()
	__VDLType_struct_192 = vdl.TypeOf((*VStructDepth2_VUnionDepth1_Float64)(nil)).Elem()
	__VDLType_struct_193 = vdl.TypeOf((*VStructDepth2_OptVStructDepth1_VEnumBcd)(nil)).Elem()
	__VDLType_struct_194 = vdl.TypeOf((*VStructDepth2_OptVStructDepth1_VUint16)(nil)).Elem()
	__VDLType_union_195 = vdl.TypeOf((*VUnionDepth2_All)(nil))
	__VDLType_map_196 = vdl.TypeOf((*map[VBool]VBool)(nil))
	__VDLType_union_197 = vdl.TypeOf((*VUnionDepth2_VArray1_String)(nil))
	__VDLType_union_198 = vdl.TypeOf((*VUnionDepth2_VArray2_VByte)(nil))
	__VDLType_union_199 = vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil))
	__VDLType_union_200 = vdl.TypeOf((*VUnionDepth2_VList_OptVNamedError)(nil))
	__VDLType_union_201 = vdl.TypeOf((*VUnionDepth2_VSet_VBool)(nil))
	__VDLType_union_202 = vdl.TypeOf((*VUnionDepth2_VSet_VNamedError)(nil))
	__VDLType_union_203 = vdl.TypeOf((*VUnionDepth2_Map_VBool_VBool)(nil))
	__VDLType_union_204 = vdl.TypeOf((*VUnionDepth2_VMap_VBool_VBool)(nil))
	__VDLType_union_205 = vdl.TypeOf((*VUnionDepth2_VStructDepth1_All)(nil))
	__VDLType_union_206 = vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil))
	__VDLType_union_207 = vdl.TypeOf((*VUnionDepth2_VUnionDepth1_All)(nil))
	__VDLType_union_208 = vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil))
	__VDLType_union_209 = vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VEnumBcd)(nil))
	__VDLType_union_210 = vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil))
	__VDLType_array_211 = vdl.TypeOf((*VArray1_VArray1_VList_Byte)(nil))
	__VDLType_array_212 = vdl.TypeOf((*VArray2_List_VMap_VByte_VByte)(nil))
	__VDLType_list_213 = vdl.TypeOf((*[]VMap_VByte_VByte)(nil))
	__VDLType_array_214 = vdl.TypeOf((*VArray2_Set_VUnionDepth1_VNamedError)(nil))
	__VDLType_set_215 = vdl.TypeOf((*map[VUnionDepth1_VNamedError]struct{})(nil))
	__VDLType_array_216 = vdl.TypeOf((*VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil))
	__VDLType_map_217 = vdl.TypeOf((*map[VUnionDepth1_Float64]VUnionDepth1_Float64)(nil))
	__VDLType_array_218 = vdl.TypeOf((*VArray2_VStructDepth2_All)(nil))
	__VDLType_array_219 = vdl.TypeOf((*VArray2_VUnionDepth2_All)(nil))
	__VDLType_array_220 = vdl.TypeOf((*VArray3_OptVStructDepth2_Set_Float64)(nil))
	__VDLType_optional_221 = vdl.TypeOf((*VStructDepth2_Set_Float64)(nil))
	__VDLType_list_222 = vdl.TypeOf((*VList_VArray3_VUnionDepth1_All)(nil))
	__VDLType_list_223 = vdl.TypeOf((*VList_List_VMap_VByte_VByte)(nil))
	__VDLType_list_224 = vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil))
	__VDLType_list_225 = vdl.TypeOf((*VList_VMap_VArray3_VBool_VArray3_VBool)(nil))
	__VDLType_list_226 = vdl.TypeOf((*VList_VStructDepth2_All)(nil))
	__VDLType_list_227 = vdl.TypeOf((*VList_VUnionDepth2_All)(nil))
	__VDLType_list_228 = vdl.TypeOf((*VList_OptVStructDepth2_Set_Float64)(nil))
	__VDLType_set_229 = vdl.TypeOf((*VSet_VArray1_VArray3_Int64)(nil))
	__VDLType_set_230 = vdl.TypeOf((*VSet_VStructDepth2_VStructDepth1_Bool)(nil))
	__VDLType_set_231 = vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil))
	__VDLType_map_232 = vdl.TypeOf((*VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64)(nil))
	__VDLType_map_233 = vdl.TypeOf((*VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32)(nil))
	__VDLType_map_234 = vdl.TypeOf((*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)(nil))
	__VDLType_struct_235 = vdl.TypeOf((*VStructDepth3_All)(nil)).Elem()
	__VDLType_list_236 = vdl.TypeOf((*[]VUnionDepth1_All)(nil))
	__VDLType_struct_237 = vdl.TypeOf((*VStructDepth3_VArray1_Set_VEnumBcd)(nil)).Elem()
	__VDLType_struct_238 = vdl.TypeOf((*VStructDepth3_List_VUnionDepth1_All)(nil)).Elem()
	__VDLType_struct_239 = vdl.TypeOf((*VStructDepth3_VSet_VArray1_VStructEmpty)(nil)).Elem()
	__VDLType_struct_240 = vdl.TypeOf((*VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil)).Elem()
	__VDLType_struct_241 = vdl.TypeOf((*VStructDepth3_VStructDepth2_All)(nil)).Elem()
	__VDLType_struct_242 = vdl.TypeOf((*VStructDepth3_VUnionDepth2_All)(nil)).Elem()
	__VDLType_struct_243 = vdl.TypeOf((*VStructDepth3_OptVStructDepth2_Set_Float64)(nil)).Elem()
	__VDLType_union_244 = vdl.TypeOf((*VUnionDepth3_All)(nil))
	__VDLType_list_245 = vdl.TypeOf((*[]VList_Error)(nil))
	__VDLType_set_246 = vdl.TypeOf((*map[VStructDepth1_String]struct{})(nil))
	__VDLType_union_247 = vdl.TypeOf((*VUnionDepth3_VArray3_OptVStructDepth1_VFloat32)(nil))
	__VDLType_union_248 = vdl.TypeOf((*VUnionDepth3_List_VList_Error)(nil))
	__VDLType_union_249 = vdl.TypeOf((*VUnionDepth3_Set_VStructDepth1_String)(nil))
	__VDLType_union_250 = vdl.TypeOf((*VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))
	__VDLType_union_251 = vdl.TypeOf((*VUnionDepth3_VStructDepth2_All)(nil))
	__VDLType_union_252 = vdl.TypeOf((*VUnionDepth3_VUnionDepth2_All)(nil))
	__VDLType_union_253 = vdl.TypeOf((*VUnionDepth3_OptVStructDepth2_Set_Float64)(nil))
	__VDLType_struct_254 = vdl.TypeOf((*VSelfCycle)(nil)).Elem()
	__VDLType_optional_255 = vdl.TypeOf((*VSelfCycle)(nil))
	__VDLType_struct_256 = vdl.TypeOf((*VMutualCycleB)(nil)).Elem()
	__VDLType_optional_257 = vdl.TypeOf((*VMutualCycleA)(nil))
	__VDLType_struct_258 = vdl.TypeOf((*VMutualCycleA)(nil)).Elem()
	__VDLType_optional_259 = vdl.TypeOf((*VMutualCycleB)(nil))
	__VDLType_bool_260 = vdl.TypeOf((*VWireBoolNBool)(nil))
	__VDLType_bool_261 = vdl.TypeOf((*VWireBoolNString)(nil))
	__VDLType_bool_262 = vdl.TypeOf((*VWireBoolNStruct)(nil))
	__VDLType_int32_263 = vdl.TypeOf((*VWireIntNInt)(nil))
	__VDLType_int32_264 = vdl.TypeOf((*VWireIntNString)(nil))
	__VDLType_int32_265 = vdl.TypeOf((*VWireIntNStruct)(nil))
	__VDLType_string_266 = vdl.TypeOf((*VWireStringNString)(nil))
	__VDLType_string_267 = vdl.TypeOf((*VWireStringNStruct)(nil))
	__VDLType_array_268 = vdl.TypeOf((*VWireArrayNString)(nil))
	__VDLType_array_269 = vdl.TypeOf((*VWireArrayNStruct)(nil))
	__VDLType_list_270 = vdl.TypeOf((*VWireListNString)(nil))
	__VDLType_list_271 = vdl.TypeOf((*VWireListNStruct)(nil))
	__VDLType_struct_272 = vdl.TypeOf((*VWireStructNString)(nil)).Elem()
	__VDLType_struct_273 = vdl.TypeOf((*VWireStructNStruct)(nil)).Elem()
	__VDLType_struct_274 = vdl.TypeOf((*VWireStructNArray)(nil)).Elem()
	__VDLType_struct_275 = vdl.TypeOf((*VWireStructNSlice)(nil)).Elem()
	__VDLType_struct_276 = vdl.TypeOf((*VWireStructNPointer)(nil)).Elem()
	__VDLType_struct_277 = vdl.TypeOf((*VWireStructNIface)(nil)).Elem()
	__VDLType_union_278 = vdl.TypeOf((*VWireUnionNString)(nil))
	__VDLType_union_279 = vdl.TypeOf((*VWireUnionNStruct)(nil))
	__VDLType_union_280 = vdl.TypeOf((*VWireUnionNArray)(nil))
	__VDLType_union_281 = vdl.TypeOf((*VWireUnionNSlice)(nil))
	__VDLType_union_282 = vdl.TypeOf((*VWireUnionNPointer)(nil))
	__VDLType_union_283 = vdl.TypeOf((*VWireUnionNIface)(nil))
	__VDLType_struct_284 = vdl.TypeOf((*VWireAll)(nil)).Elem()
	__VDLType_list_285 = vdl.TypeOf((*[]bool)(nil))
	__VDLType_list_286 = vdl.TypeOf((*[]VByte)(nil))
	__VDLType_set_287 = vdl.TypeOf((*map[VStructDepth2_VStructDepth1_Bool]struct{})(nil))
	__VDLType_list_288 = vdl.TypeOf((*[]uint32)(nil))
	__VDLType_list_289 = vdl.TypeOf((*[]*VStructDepth1_VEnumBcd)(nil))
	__VDLType_struct_290 = vdl.TypeOf((*XStructDepth1_Uint32)(nil)).Elem()
	__VDLType_float32_291 = vdl.TypeOf((*XFloat32)(nil))
	__VDLType_list_292 = vdl.TypeOf((*XList_XBool)(nil))
	__VDLType_list_293 = vdl.TypeOf((*XList_XStructDepth2_All)(nil))
	__VDLType_array_294 = vdl.TypeOf((*XArray3_OptXStructDepth2_Set_Float64)(nil))
	__VDLType_union_295 = vdl.TypeOf((*XUnionDepth1_Int16)(nil))
	__VDLType_struct_296 = vdl.TypeOf((*XStructDepth1_XInt16)(nil)).Elem()
	__VDLType_union_297 = vdl.TypeOf((*XUnionDepth1_Bool)(nil))
	__VDLType_uint16_298 = vdl.TypeOf((*XUint16)(nil))
	__VDLType_list_299 = vdl.TypeOf((*XList_XMap_Byte_Byte)(nil))
	__VDLType_set_300 = vdl.TypeOf((*XSet_XStructEmpty)(nil))
	__VDLType_set_301 = vdl.TypeOf((*map[string]struct{})(nil))
	__VDLType_list_302 = vdl.TypeOf((*XList_XUint16)(nil))
	__VDLType_list_303 = vdl.TypeOf((*XList_Byte)(nil))
	__VDLType_array_304 = vdl.TypeOf((*XArray2_XEnumBcd)(nil))
	__VDLType_union_305 = vdl.TypeOf((*XUnionDepth2_XStructDepth1_Int8)(nil))
	__VDLType_struct_306 = vdl.TypeOf((*XStructEmpty)(nil)).Elem()
	__VDLType_union_307 = vdl.TypeOf((*XUnionDepth1_Uint32)(nil))
	__VDLType_list_308 = vdl.TypeOf((*XList_Any)(nil))
	__VDLType_struct_309 = vdl.TypeOf((*XStructDepth1_XInt32)(nil)).Elem()
	__VDLType_map_310 = vdl.TypeOf((*XMap_XStructEmpty_XStructEmpty)(nil))
	__VDLType_map_311 = vdl.TypeOf((*XMap_String_String)(nil))
	__VDLType_list_312 = vdl.TypeOf((*[]XEnumAbc)(nil))
	__VDLType_array_313 = vdl.TypeOf((*XArray1_XStructEmpty)(nil))
	__VDLType_union_314 = vdl.TypeOf((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil))

	return struct{}{}
}
