// 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"
	"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(vdl.TypeOf((*vdlEntry)(nil)).Elem()); err != nil {
		return err
	}
	if x.IsCanonical {
		if err := enc.NextField("IsCanonical"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(x.IsCanonical); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.Label != "" {
		if err := enc.NextField("Label"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.Label); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.TargetLabel != "" {
		if err := enc.NextField("TargetLabel"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.TargetLabel); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.Target != nil {
		if err := enc.NextField("Target"); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.Target); err != nil {
			return err
		}
	}
	if x.SourceLabel != "" {
		if err := enc.NextField("SourceLabel"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.SourceLabel); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.Source != nil {
		if err := enc.NextField("Source"); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.Source); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *vdlEntry) VDLRead(dec vdl.Decoder) error {
	*x = vdlEntry{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "IsCanonical":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.IsCanonical, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "Label":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Label, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "TargetLabel":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.TargetLabel, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "Target":
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.Target = readAny
		case "SourceLabel":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.SourceLabel, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "Source":
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.Source = readAny
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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.StartValue(vdl.TypeOf((*VBool)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBool(bool(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeBool()
	if err != nil {
		return err
	}
	*x = VBool(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VString)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeString(string(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeString()
	if err != nil {
		return err
	}
	*x = VString(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VByte)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeUint(8)
	if err != nil {
		return err
	}
	*x = VByte(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VEnumAbc)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeString(x.String()); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	enum, err := dec.DecodeString()
	if err != nil {
		return err
	}
	if err := x.Set(enum); err != nil {
		return err
	}
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VEnumBcd)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeString(x.String()); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	enum, err := dec.DecodeString()
	if err != nil {
		return err
	}
	if err := x.Set(enum); err != nil {
		return err
	}
	return dec.FinishValue()
}

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(vdl.TypeOf((*VStructEmpty)(nil)).Elem()); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructEmpty{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VNamedError)(nil)).Elem()); err != nil {
		return err
	}
	if x.Id != "" {
		if err := enc.NextField("Id"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.Id); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.Msg != "" {
		if err := enc.NextField("Msg"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.Msg); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VNamedError{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "Id":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Id, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "Msg":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Msg, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type 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.StartValue(vdl.TypeOf((*VUint16)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VUint16) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeUint(16)
	if err != nil {
		return err
	}
	*x = VUint16(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VUint32)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VUint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeUint(32)
	if err != nil {
		return err
	}
	*x = VUint32(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VUint64)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VUint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeUint(64)
	if err != nil {
		return err
	}
	*x = VUint64(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VInt8)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VInt8) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(8)
	if err != nil {
		return err
	}
	*x = VInt8(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VInt16)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VInt16) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(16)
	if err != nil {
		return err
	}
	*x = VInt16(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VInt32)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VInt32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(32)
	if err != nil {
		return err
	}
	*x = VInt32(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VInt64)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VInt64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(64)
	if err != nil {
		return err
	}
	*x = VInt64(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VFloat32)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeFloat(float64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VFloat32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeFloat(32)
	if err != nil {
		return err
	}
	*x = VFloat32(tmp)
	return dec.FinishValue()
}

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.StartValue(vdl.TypeOf((*VFloat64)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeFloat(float64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VFloat64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeFloat(64)
	if err != nil {
		return err
	}
	*x = VFloat64(tmp)
	return dec.FinishValue()
}

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(vdl.TypeOf((*VArray3_Any)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := vdl.Write(enc, x[i]); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		var readAny interface{}
		if err := vdl.Read(dec, &readAny); err != nil {
			return err
		}
		x[index] = readAny
		index++
	}
}

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(vdl.TypeOf((*VArray3_Bool)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeBool(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_VBool)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_String)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

type 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(vdl.TypeOf((*VArray3_VString)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_TypeObject)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeTypeObject(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

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.StartValue(vdl.TypeOf((*VArray1_Byte)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBytes([]byte(x[:])); err != nil {
		return err
	}
	return enc.FinishValue()
}

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

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.StartValue(vdl.TypeOf((*VArray2_VByte)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_VEnumAbc)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_VEnumBcd)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_VStructEmpty)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_VNamedError)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_Error)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x[i]); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := verror.VDLRead(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_Uint32)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint32Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x[i])); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray1_Uint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(32)
		if err != nil {
			return err
		}
		x[index] = uint32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_Uint64)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint64Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Uint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeUint(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_Int64)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray3_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeInt(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_OptVStructEmpty)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructEmpty)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x[index]), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", x[index], dec.Type())
			}
			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
			}
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_OptVNamedError)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VNamedError)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x[index]), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", x[index], dec.Type())
			}
			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
			}
		}
		index++
	}
}

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(vdl.TypeOf((*VList_Any)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := vdl.Write(enc, x[i]); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_Any, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_Bool)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_Bool, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem bool
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if elem, err = dec.DecodeBool(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*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(vdl.TypeOf((*VList_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VBool, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VBool
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_String)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_String, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem string
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if elem, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

type 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(vdl.TypeOf((*VList_VString)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VString, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VString
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_TypeObject)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_TypeObject, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem *vdl.Type
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if elem, err = dec.DecodeTypeObject(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*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.StartValue(vdl.TypeOf((*VList_Byte)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBytes([]byte(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

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

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.StartValue(vdl.TypeOf((*VList_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VList_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VByte, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VByte
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

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(vdl.TypeOf((*VList_VEnumAbc)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VEnumAbc, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VEnumAbc
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

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(vdl.TypeOf((*VList_VEnumBcd)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VEnumBcd, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VEnumBcd
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

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(vdl.TypeOf((*VList_VStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VStructEmpty, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VNamedError, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_Error)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x[i]); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_Error, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VUint16)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VUint16, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VUint16
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_VFloat32)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VFloat32, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VFloat32
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_VFloat64)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VFloat64, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VFloat64
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_OptVStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructEmpty)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_OptVStructEmpty, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem *VStructEmpty
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(elem), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", elem, dec.Type())
			}
			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(vdl.TypeOf((*VList_OptVNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VNamedError)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_OptVNamedError, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem *VNamedError
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(elem), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", elem, dec.Type())
			}
			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(vdl.TypeOf((*VSet_Bool)(nil))); 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 := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_Bool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Bool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key bool
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VSet_VBool)(nil))); 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_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VBool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VBool
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VBool)
		}
		tmpMap[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(vdl.TypeOf((*VSet_String)(nil))); 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 := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_String
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_String, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key string
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VSet_VString)(nil))); 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_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VString
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VString, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VString
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VString)
		}
		tmpMap[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(vdl.TypeOf((*VSet_Byte)(nil))); 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 := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(key)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_Byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Byte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key byte
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			key = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_Byte)
		}
		tmpMap[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(vdl.TypeOf((*VSet_VByte)(nil))); 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_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VByte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VByte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VByte
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VByte)
		}
		tmpMap[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(vdl.TypeOf((*VSet_VEnumAbc)(nil))); 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_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VEnumAbc
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VEnumAbc, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VEnumAbc
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VEnumAbc)
		}
		tmpMap[key] = 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(vdl.TypeOf((*VSet_VEnumBcd)(nil))); 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_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VEnumBcd
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VEnumBcd, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VEnumBcd
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VEnumBcd)
		}
		tmpMap[key] = 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(vdl.TypeOf((*VSet_VStructEmpty)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_VNamedError)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_Uint64)(nil))); 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 := enc.StartValue(vdl.Uint64Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Uint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_Uint64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Uint64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key uint64
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeUint(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VSet_VUint64)(nil))); 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_VUint64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_VUint64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_VUint64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VUint64
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_VUint64)
		}
		tmpMap[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(vdl.TypeOf((*VSet_Float32)(nil))); 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 := enc.StartValue(vdl.Float32Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(float64(key)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSet_Float32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap VSet_Float32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VSet_Float32, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key float32
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeFloat(32)
			if err != nil {
				return err
			}
			key = float32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VSet_Float32)
		}
		tmpMap[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(vdl.TypeOf((*VMap_Bool_Bool)(nil))); 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 := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(elem); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Bool_Bool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_Bool_Bool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Bool_Bool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key bool
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem bool
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if elem, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VMap_VBool_VBool)(nil))); 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_VBool_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VBool_VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VBool_VBool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VBool
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VBool
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VBool_VBool)
		}
		tmpMap[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(vdl.TypeOf((*VMap_String_String)(nil))); 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 := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(elem); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_String_String) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_String_String
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_String_String, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key string
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem string
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if elem, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VMap_VString_VString)(nil))); 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_VString_VString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VString_VString
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VString_VString, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VString
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VString
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VString_VString)
		}
		tmpMap[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(vdl.TypeOf((*VMap_Byte_Byte)(nil))); 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 := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(key)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(elem)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_Byte_Byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Byte_Byte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key byte
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			key = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem byte
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			elem = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_Byte_Byte)
		}
		tmpMap[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(vdl.TypeOf((*VMap_VByte_VByte)(nil))); 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_VByte_VByte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VByte_VByte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VByte_VByte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VByte
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VByte
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VByte_VByte)
		}
		tmpMap[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(vdl.TypeOf((*VMap_VEnumAbc_VEnumAbc)(nil))); 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_VEnumAbc_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VEnumAbc_VEnumAbc
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VEnumAbc_VEnumAbc, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VEnumAbc
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VEnumAbc
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VEnumAbc_VEnumAbc)
		}
		tmpMap[key] = 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(vdl.TypeOf((*VMap_VEnumBcd_VEnumBcd)(nil))); 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_VEnumBcd_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VEnumBcd_VEnumBcd
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VEnumBcd_VEnumBcd, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VEnumBcd
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VEnumBcd
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VEnumBcd_VEnumBcd)
		}
		tmpMap[key] = 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(vdl.TypeOf((*VMap_VStructEmpty_VStructEmpty)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VNamedError_VNamedError)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VUint32_VUint32)(nil))); 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_VUint32_VUint32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VUint32_VUint32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VUint32_VUint32, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VUint32
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VUint32
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VUint32_VUint32)
		}
		tmpMap[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(vdl.TypeOf((*VMap_VInt32_VInt32)(nil))); 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_VInt32_VInt32) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_VInt32_VInt32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_VInt32_VInt32, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VInt32
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VInt32
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(VMap_VInt32_VInt32)
		}
		tmpMap[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(vdl.TypeOf((*VMap_Int64_Int64)(nil))); 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 := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(elem); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMap_Int64_Int64) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap VMap_Int64_Int64
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(VMap_Int64_Int64, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key int64
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem int64
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if elem, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(vdl.TypeOf((*VStructDepth1_All)(nil)).Elem()); err != nil {
		return err
	}
	if x.F0 != nil {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.F0); err != nil {
			return err
		}
	}
	if x.F1 {
		if err := enc.NextField("F1"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(x.F1); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F2 {
		if err := enc.NextField("F2"); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F3 != "" {
		if err := enc.NextField("F3"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.F3); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F4 != "" {
		if err := enc.NextField("F4"); err != nil {
			return err
		}
		if err := x.F4.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F5 != nil && x.F5 != vdl.AnyType {
		if err := enc.NextField("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F6 != 0 {
		if err := enc.NextField("F6"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F6)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F7 != 0 {
		if err := enc.NextField("F7"); err != nil {
			return err
		}
		if err := x.F7.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F8 != VEnumAbcA {
		if err := enc.NextField("F8"); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F9 != VEnumBcdB {
		if err := enc.NextField("F9"); err != nil {
			return err
		}
		if err := x.F9.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F10 != (VStructEmpty{}) {
		if err := enc.NextField("F10"); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F11 != (VNamedError{}) {
		if err := enc.NextField("F11"); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F12 != nil {
		if err := enc.NextField("F12"); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x.F12); err != nil {
			return err
		}
	}
	if x.F13 != 0 {
		if err := enc.NextField("F13"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint16Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F13)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F14 != 0 {
		if err := enc.NextField("F14"); err != nil {
			return err
		}
		if err := x.F14.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F15 != 0 {
		if err := enc.NextField("F15"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint32Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F15)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F16 != 0 {
		if err := enc.NextField("F16"); err != nil {
			return err
		}
		if err := x.F16.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F17 != 0 {
		if err := enc.NextField("F17"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint64Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(x.F17); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F18 != 0 {
		if err := enc.NextField("F18"); err != nil {
			return err
		}
		if err := x.F18.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F19 != 0 {
		if err := enc.NextField("F19"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int8Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F19)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F20 != 0 {
		if err := enc.NextField("F20"); err != nil {
			return err
		}
		if err := x.F20.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F21 != 0 {
		if err := enc.NextField("F21"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int16Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F21)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F22 != 0 {
		if err := enc.NextField("F22"); err != nil {
			return err
		}
		if err := x.F22.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F23 != 0 {
		if err := enc.NextField("F23"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int32Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F23)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F24 != 0 {
		if err := enc.NextField("F24"); err != nil {
			return err
		}
		if err := x.F24.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F25 != 0 {
		if err := enc.NextField("F25"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x.F25); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F26 != 0 {
		if err := enc.NextField("F26"); err != nil {
			return err
		}
		if err := x.F26.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F27 != 0 {
		if err := enc.NextField("F27"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Float32Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(float64(x.F27)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F28 != 0 {
		if err := enc.NextField("F28"); err != nil {
			return err
		}
		if err := x.F28.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F29 != 0 {
		if err := enc.NextField("F29"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Float64Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(x.F29); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.F30 != 0 {
		if err := enc.NextField("F30"); err != nil {
			return err
		}
		if err := x.F30.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F31 != nil {
		if err := enc.NextField("F31"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F31.VDLWrite(enc); err != nil {
			return err
		}

	}
	if x.F32 != nil {
		if err := enc.NextField("F32"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F32.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.F0 = readAny
		case "F1":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F1, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F2":
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		case "F3":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F3, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F4":
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		case "F5":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F5, err = dec.DecodeTypeObject(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F6":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			x.F6 = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F7":
			if err := x.F7.VDLRead(dec); err != nil {
				return err
			}
		case "F8":
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		case "F9":
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		case "F10":
			if err := x.F10.VDLRead(dec); err != nil {
				return err
			}
		case "F11":
			if err := x.F11.VDLRead(dec); err != nil {
				return err
			}
		case "F12":
			if err := verror.VDLRead(dec, &x.F12); err != nil {
				return err
			}
		case "F13":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(16)
			if err != nil {
				return err
			}
			x.F13 = uint16(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F14":
			if err := x.F14.VDLRead(dec); err != nil {
				return err
			}
		case "F15":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(32)
			if err != nil {
				return err
			}
			x.F15 = uint32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F16":
			if err := x.F16.VDLRead(dec); err != nil {
				return err
			}
		case "F17":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F17, err = dec.DecodeUint(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F18":
			if err := x.F18.VDLRead(dec); err != nil {
				return err
			}
		case "F19":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(8)
			if err != nil {
				return err
			}
			x.F19 = int8(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F20":
			if err := x.F20.VDLRead(dec); err != nil {
				return err
			}
		case "F21":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(16)
			if err != nil {
				return err
			}
			x.F21 = int16(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F22":
			if err := x.F22.VDLRead(dec); err != nil {
				return err
			}
		case "F23":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(32)
			if err != nil {
				return err
			}
			x.F23 = int32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F24":
			if err := x.F24.VDLRead(dec); err != nil {
				return err
			}
		case "F25":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F25, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F26":
			if err := x.F26.VDLRead(dec); err != nil {
				return err
			}
		case "F27":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeFloat(32)
			if err != nil {
				return err
			}
			x.F27 = float32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F28":
			if err := x.F28.VDLRead(dec); err != nil {
				return err
			}
		case "F29":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F29, err = dec.DecodeFloat(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "F30":
			if err := x.F30.VDLRead(dec); err != nil {
				return err
			}
		case "F31":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F31), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F31, dec.Type())
				}
				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 "F32":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F32), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F32, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem()); err != nil {
		return err
	}
	if x.F0 != nil {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := vdl.Write(enc, x.F0); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Any) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Any{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			var readAny interface{}
			if err := vdl.Read(dec, &readAny); err != nil {
				return err
			}
			x.F0 = readAny
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Bool)(nil)).Elem()); err != nil {
		return err
	}
	if x.F1 {
		if err := enc.NextField("F1"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.BoolType); err != nil {
			return err
		}
		if err := enc.EncodeBool(x.F1); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Bool) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Bool{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F1":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F1, err = dec.DecodeBool(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VBool)(nil)).Elem()); err != nil {
		return err
	}
	if x.F2 {
		if err := enc.NextField("F2"); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VBool) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VBool{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F2":
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_String)(nil)).Elem()); err != nil {
		return err
	}
	if x.F3 != "" {
		if err := enc.NextField("F3"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.F3); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_String) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_String{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F3":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F3, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type 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(vdl.TypeOf((*VStructDepth1_VString)(nil)).Elem()); err != nil {
		return err
	}
	if x.F4 != "" {
		if err := enc.NextField("F4"); err != nil {
			return err
		}
		if err := x.F4.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VString) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VString{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F4":
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_TypeObject)(nil)).Elem()); err != nil {
		return err
	}
	if x.F5 != nil && x.F5 != vdl.AnyType {
		if err := enc.NextField("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F5":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F5, err = dec.DecodeTypeObject(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Byte)(nil)).Elem()); err != nil {
		return err
	}
	if x.F6 != 0 {
		if err := enc.NextField("F6"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F6)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Byte) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Byte{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F6":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			x.F6 = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VByte)(nil)).Elem()); err != nil {
		return err
	}
	if x.F7 != 0 {
		if err := enc.NextField("F7"); err != nil {
			return err
		}
		if err := x.F7.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VByte) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VByte{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F7":
			if err := x.F7.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VEnumAbc)(nil)).Elem()); err != nil {
		return err
	}
	if x.F8 != VEnumAbcA {
		if err := enc.NextField("F8"); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VEnumAbc) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VEnumAbc{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F8":
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_VEnumBcd)(nil)).Elem()); err != nil {
		return err
	}
	if x.F9 != VEnumBcdB {
		if err := enc.NextField("F9"); err != nil {
			return err
		}
		if err := x.F9.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VEnumBcd{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F9":
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_VStructEmpty)(nil)).Elem()); err != nil {
		return err
	}
	if x.F10 != (VStructEmpty{}) {
		if err := enc.NextField("F10"); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VStructEmpty{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F10":
			if err := x.F10.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_VNamedError)(nil)).Elem()); err != nil {
		return err
	}
	if x.F11 != (VNamedError{}) {
		if err := enc.NextField("F11"); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VNamedError{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F11":
			if err := x.F11.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_Error)(nil)).Elem()); err != nil {
		return err
	}
	if x.F12 != nil {
		if err := enc.NextField("F12"); err != nil {
			return err
		}
		if err := verror.VDLWrite(enc, x.F12); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Error) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Error{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F12":
			if err := verror.VDLRead(dec, &x.F12); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_Uint16)(nil)).Elem()); err != nil {
		return err
	}
	if x.F13 != 0 {
		if err := enc.NextField("F13"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint16Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F13)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint16{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F13":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(16)
			if err != nil {
				return err
			}
			x.F13 = uint16(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VUint16)(nil)).Elem()); err != nil {
		return err
	}
	if x.F14 != 0 {
		if err := enc.NextField("F14"); err != nil {
			return err
		}
		if err := x.F14.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint16{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F14":
			if err := x.F14.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Uint32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F15 != 0 {
		if err := enc.NextField("F15"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint32Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(x.F15)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F15":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(32)
			if err != nil {
				return err
			}
			x.F15 = uint32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VUint32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F16 != 0 {
		if err := enc.NextField("F16"); err != nil {
			return err
		}
		if err := x.F16.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F16":
			if err := x.F16.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Uint64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F17 != 0 {
		if err := enc.NextField("F17"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint64Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(x.F17); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Uint64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Uint64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F17":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F17, err = dec.DecodeUint(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VUint64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F18 != 0 {
		if err := enc.NextField("F18"); err != nil {
			return err
		}
		if err := x.F18.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VUint64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VUint64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F18":
			if err := x.F18.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Int8)(nil)).Elem()); err != nil {
		return err
	}
	if x.F19 != 0 {
		if err := enc.NextField("F19"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int8Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F19)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int8) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int8{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F19":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(8)
			if err != nil {
				return err
			}
			x.F19 = int8(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VInt8)(nil)).Elem()); err != nil {
		return err
	}
	if x.F20 != 0 {
		if err := enc.NextField("F20"); err != nil {
			return err
		}
		if err := x.F20.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt8) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt8{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F20":
			if err := x.F20.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem()); err != nil {
		return err
	}
	if x.F21 != 0 {
		if err := enc.NextField("F21"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int16Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F21)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int16{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F21":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(16)
			if err != nil {
				return err
			}
			x.F21 = int16(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VInt16)(nil)).Elem()); err != nil {
		return err
	}
	if x.F22 != 0 {
		if err := enc.NextField("F22"); err != nil {
			return err
		}
		if err := x.F22.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt16) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt16{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F22":
			if err := x.F22.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Int32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F23 != 0 {
		if err := enc.NextField("F23"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int32Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x.F23)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F23":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeInt(32)
			if err != nil {
				return err
			}
			x.F23 = int32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VInt32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F24 != 0 {
		if err := enc.NextField("F24"); err != nil {
			return err
		}
		if err := x.F24.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F24":
			if err := x.F24.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Int64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F25 != 0 {
		if err := enc.NextField("F25"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x.F25); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Int64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Int64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F25":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F25, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VInt64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F26 != 0 {
		if err := enc.NextField("F26"); err != nil {
			return err
		}
		if err := x.F26.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VInt64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VInt64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F26":
			if err := x.F26.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Float32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F27 != 0 {
		if err := enc.NextField("F27"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Float32Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(float64(x.F27)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Float32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Float32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F27":
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeFloat(32)
			if err != nil {
				return err
			}
			x.F27 = float32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VFloat32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F28 != 0 {
		if err := enc.NextField("F28"); err != nil {
			return err
		}
		if err := x.F28.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VFloat32) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VFloat32{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F28":
			if err := x.F28.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_Float64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F29 != 0 {
		if err := enc.NextField("F29"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Float64Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(x.F29); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_Float64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_Float64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F29":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.F29, err = dec.DecodeFloat(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_VFloat64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F30 != 0 {
		if err := enc.NextField("F30"); err != nil {
			return err
		}
		if err := x.F30.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_VFloat64) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_VFloat64{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F30":
			if err := x.F30.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

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(vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem()); err != nil {
		return err
	}
	if x.F31 != nil {
		if err := enc.NextField("F31"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F31.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_OptVStructEmpty) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_OptVStructEmpty{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F31":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F31), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F31, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth1_OptVNamedError)(nil)).Elem()); err != nil {
		return err
	}
	if x.F32 != nil {
		if err := enc.NextField("F32"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F32.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VStructDepth1_OptVNamedError) VDLRead(dec vdl.Decoder) error {
	*x = VStructDepth1_OptVNamedError{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F32":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F32), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F32, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := vdl.Write(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.BoolType); err != nil {
		return err
	}
	if err := enc.EncodeBool(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.ByteType); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F7"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F8"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F9"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F10"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F11"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F12"); err != nil {
		return err
	}
	if err := verror.VDLWrite(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F13"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint16Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF14) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F14"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF15) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F15"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint32Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF16) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F16"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF17) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F17"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint64Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF18) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F18"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF19) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F19"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int8Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF20) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F20"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF21) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F21"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int16Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF22) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F22"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF23) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F23"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int32Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF24) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F24"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF25) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F25"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int64Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF26) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F26"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF27) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F27"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Float32Type); err != nil {
		return err
	}
	if err := enc.EncodeFloat(float64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF28) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F28"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF29) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F29"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Float64Type); err != nil {
		return err
	}
	if err := enc.EncodeFloat(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF30) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F30"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF31) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F31"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructEmpty)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth1_AllF32) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F32"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VNamedError)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_All(dec vdl.Decoder, x *VUnionDepth1_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth1_AllF0
		var readAny interface{}
		if err := vdl.Read(dec, &readAny); err != nil {
			return err
		}
		field.Value = readAny
		*x = field
	case "F1":
		var field VUnionDepth1_AllF1
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeBool(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F2":
		var field VUnionDepth1_AllF2
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F3":
		var field VUnionDepth1_AllF3
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F4":
		var field VUnionDepth1_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F5":
		var field VUnionDepth1_AllF5
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeTypeObject(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F6":
		var field VUnionDepth1_AllF6
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(8)
		if err != nil {
			return err
		}
		field.Value = byte(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F7":
		var field VUnionDepth1_AllF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F8":
		var field VUnionDepth1_AllF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F9":
		var field VUnionDepth1_AllF9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F10":
		var field VUnionDepth1_AllF10
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F11":
		var field VUnionDepth1_AllF11
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F12":
		var field VUnionDepth1_AllF12
		if err := verror.VDLRead(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F13":
		var field VUnionDepth1_AllF13
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(16)
		if err != nil {
			return err
		}
		field.Value = uint16(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F14":
		var field VUnionDepth1_AllF14
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F15":
		var field VUnionDepth1_AllF15
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(32)
		if err != nil {
			return err
		}
		field.Value = uint32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F16":
		var field VUnionDepth1_AllF16
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F17":
		var field VUnionDepth1_AllF17
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeUint(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F18":
		var field VUnionDepth1_AllF18
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F19":
		var field VUnionDepth1_AllF19
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(8)
		if err != nil {
			return err
		}
		field.Value = int8(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F20":
		var field VUnionDepth1_AllF20
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F21":
		var field VUnionDepth1_AllF21
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(16)
		if err != nil {
			return err
		}
		field.Value = int16(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F22":
		var field VUnionDepth1_AllF22
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F23":
		var field VUnionDepth1_AllF23
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(32)
		if err != nil {
			return err
		}
		field.Value = int32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F24":
		var field VUnionDepth1_AllF24
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F25":
		var field VUnionDepth1_AllF25
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeInt(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F26":
		var field VUnionDepth1_AllF26
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F27":
		var field VUnionDepth1_AllF27
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeFloat(32)
		if err != nil {
			return err
		}
		field.Value = float32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F28":
		var field VUnionDepth1_AllF28
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F29":
		var field VUnionDepth1_AllF29
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeFloat(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "F30":
		var field VUnionDepth1_AllF30
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F31":
		var field VUnionDepth1_AllF31
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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 "F32":
		var field VUnionDepth1_AllF32
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Any)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := vdl.Write(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Any(dec vdl.Decoder, x *VUnionDepth1_Any) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth1_AnyF0
		var readAny interface{}
		if err := vdl.Read(dec, &readAny); err != nil {
			return err
		}
		field.Value = readAny
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Bool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.BoolType); err != nil {
		return err
	}
	if err := enc.EncodeBool(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Bool(dec vdl.Decoder, x *VUnionDepth1_Bool) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F1":
		var field VUnionDepth1_BoolF1
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeBool(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VBool(dec vdl.Decoder, x *VUnionDepth1_VBool) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F2":
		var field VUnionDepth1_VBoolF2
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_String)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_String(dec vdl.Decoder, x *VUnionDepth1_String) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F3":
		var field VUnionDepth1_StringF3
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VString)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VString(dec vdl.Decoder, x *VUnionDepth1_VString) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F4":
		var field VUnionDepth1_VStringF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_TypeObject)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_TypeObject(dec vdl.Decoder, x *VUnionDepth1_TypeObject) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F5":
		var field VUnionDepth1_TypeObjectF5
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeTypeObject(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Byte)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.ByteType); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Byte(dec vdl.Decoder, x *VUnionDepth1_Byte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F6":
		var field VUnionDepth1_ByteF6
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(8)
		if err != nil {
			return err
		}
		field.Value = byte(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F7"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VByte(dec vdl.Decoder, x *VUnionDepth1_VByte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F7":
		var field VUnionDepth1_VByteF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VEnumAbc)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F8"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VEnumAbc(dec vdl.Decoder, x *VUnionDepth1_VEnumAbc) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F8":
		var field VUnionDepth1_VEnumAbcF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VEnumBcd)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F9"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VEnumBcd(dec vdl.Decoder, x *VUnionDepth1_VEnumBcd) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F9":
		var field VUnionDepth1_VEnumBcdF9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F10"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VStructEmpty(dec vdl.Decoder, x *VUnionDepth1_VStructEmpty) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F10":
		var field VUnionDepth1_VStructEmptyF10
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F11"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VNamedError(dec vdl.Decoder, x *VUnionDepth1_VNamedError) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F11":
		var field VUnionDepth1_VNamedErrorF11
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Error)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F12"); err != nil {
		return err
	}
	if err := verror.VDLWrite(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Error(dec vdl.Decoder, x *VUnionDepth1_Error) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F12":
		var field VUnionDepth1_ErrorF12
		if err := verror.VDLRead(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Uint16)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F13"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint16Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint16(dec vdl.Decoder, x *VUnionDepth1_Uint16) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F13":
		var field VUnionDepth1_Uint16F13
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(16)
		if err != nil {
			return err
		}
		field.Value = uint16(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VUint16)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F14"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint16(dec vdl.Decoder, x *VUnionDepth1_VUint16) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F14":
		var field VUnionDepth1_VUint16F14
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Uint32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F15"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint32Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(uint64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint32(dec vdl.Decoder, x *VUnionDepth1_Uint32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F15":
		var field VUnionDepth1_Uint32F15
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeUint(32)
		if err != nil {
			return err
		}
		field.Value = uint32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VUint32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F16"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint32(dec vdl.Decoder, x *VUnionDepth1_VUint32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F16":
		var field VUnionDepth1_VUint32F16
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Uint64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F17"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Uint64Type); err != nil {
		return err
	}
	if err := enc.EncodeUint(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Uint64(dec vdl.Decoder, x *VUnionDepth1_Uint64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F17":
		var field VUnionDepth1_Uint64F17
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeUint(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VUint64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F18"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VUint64(dec vdl.Decoder, x *VUnionDepth1_VUint64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F18":
		var field VUnionDepth1_VUint64F18
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Int8)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F19"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int8Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int8(dec vdl.Decoder, x *VUnionDepth1_Int8) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F19":
		var field VUnionDepth1_Int8F19
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(8)
		if err != nil {
			return err
		}
		field.Value = int8(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VInt8)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F20"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt8(dec vdl.Decoder, x *VUnionDepth1_VInt8) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F20":
		var field VUnionDepth1_VInt8F20
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Int16)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F21"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int16Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int16(dec vdl.Decoder, x *VUnionDepth1_Int16) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F21":
		var field VUnionDepth1_Int16F21
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(16)
		if err != nil {
			return err
		}
		field.Value = int16(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VInt16)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F22"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt16(dec vdl.Decoder, x *VUnionDepth1_VInt16) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F22":
		var field VUnionDepth1_VInt16F22
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Int32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F23"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int32Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int32(dec vdl.Decoder, x *VUnionDepth1_Int32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F23":
		var field VUnionDepth1_Int32F23
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(32)
		if err != nil {
			return err
		}
		field.Value = int32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VInt32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F24"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt32(dec vdl.Decoder, x *VUnionDepth1_VInt32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F24":
		var field VUnionDepth1_VInt32F24
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Int64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F25"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Int64Type); err != nil {
		return err
	}
	if err := enc.EncodeInt(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Int64(dec vdl.Decoder, x *VUnionDepth1_Int64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F25":
		var field VUnionDepth1_Int64F25
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeInt(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VInt64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F26"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VInt64(dec vdl.Decoder, x *VUnionDepth1_VInt64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F26":
		var field VUnionDepth1_VInt64F26
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Float32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F27"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Float32Type); err != nil {
		return err
	}
	if err := enc.EncodeFloat(float64(x.Value)); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Float32(dec vdl.Decoder, x *VUnionDepth1_Float32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F27":
		var field VUnionDepth1_Float32F27
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeFloat(32)
		if err != nil {
			return err
		}
		field.Value = float32(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VFloat32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F28"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VFloat32(dec vdl.Decoder, x *VUnionDepth1_VFloat32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F28":
		var field VUnionDepth1_VFloat32F28
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_Float64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F29"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.Float64Type); err != nil {
		return err
	}
	if err := enc.EncodeFloat(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_Float64(dec vdl.Decoder, x *VUnionDepth1_Float64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F29":
		var field VUnionDepth1_Float64F29
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeFloat(64); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_VFloat64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F30"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_VFloat64(dec vdl.Decoder, x *VUnionDepth1_VFloat64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F30":
		var field VUnionDepth1_VFloat64F30
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_OptVStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F31"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructEmpty)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_OptVStructEmpty(dec vdl.Decoder, x *VUnionDepth1_OptVStructEmpty) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F31":
		var field VUnionDepth1_OptVStructEmptyF31
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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 "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth1_OptVNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F32"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VNamedError)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth1_OptVNamedError(dec vdl.Decoder, x *VUnionDepth1_OptVNamedError) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F32":
		var field VUnionDepth1_OptVNamedErrorF32
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type 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(vdl.TypeOf((*VArray1_VArray3_Int64)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_VList_Byte)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray1_Set_VEnumBcd)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_1(enc, x[i]); 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(vdl.TypeOf((*map[VEnumBcd]struct{})(nil))); 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 *VArray1_Set_VEnumBcd) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := __VDLReadAnon_set_1(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

func __VDLReadAnon_set_1(dec vdl.Decoder, x *map[VEnumBcd]struct{}) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap map[VEnumBcd]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VEnumBcd]struct{}, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VEnumBcd
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(map[VEnumBcd]struct{})
		}
		tmpMap[key] = 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(vdl.TypeOf((*VArray2_Map_Byte_Byte)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_2(enc, x[i]); 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(vdl.TypeOf((*map[byte]byte)(nil))); 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 := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(key)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.ByteType); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(elem)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VArray2_Map_Byte_Byte) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := __VDLReadAnon_map_2(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

func __VDLReadAnon_map_2(dec vdl.Decoder, x *map[byte]byte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap map[byte]byte
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[byte]byte, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key byte
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			key = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem byte
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(8)
			if err != nil {
				return err
			}
			elem = byte(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(map[byte]byte)
		}
		tmpMap[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(vdl.TypeOf((*VArray2_VStructDepth1_All)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case x[i] == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_All)(nil))).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := VDLReadVUnionDepth1_All(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_OptVStructDepth1_VFloat32)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VFloat32)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x[index]), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", x[index], dec.Type())
			}
			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
			}
		}
		index++
	}
}

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(vdl.TypeOf((*VList_VArray1_VStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VArray1_VStructEmpty, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_List_VString)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_3(enc, x[i]); 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(vdl.TypeOf((*[]VString)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].VDLWrite(enc); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_List_VString, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make([]VString, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem VString
		if err := elem.VDLRead(dec); err != nil {
			return err
		}
		*x = append(*x, 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(vdl.TypeOf((*VList_Set_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_4(enc, x[i]); 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(vdl.TypeOf((*map[VBool]struct{})(nil))); 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 *VList_Set_VBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_Set_VBool, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap map[VBool]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VBool]struct{}, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VBool
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(map[VBool]struct{})
		}
		tmpMap[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(vdl.TypeOf((*VList_VMap_Byte_Byte)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VMap_Byte_Byte, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VStructDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VStructDepth1_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case x[i] == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_All)(nil))).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VUnionDepth1_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_OptVStructDepth1_VEnumBcd)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VEnumBcd)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_OptVStructDepth1_VEnumBcd, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem *VStructDepth1_VEnumBcd
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(elem), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", elem, dec.Type())
			}
			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(vdl.TypeOf((*VSet_VArray1_VStructEmpty)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_VStructDepth1_VFloat64)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_VUnionDepth1_VInt8)(nil))); 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(vdl.TypeOf((*VUnionDepth1_VInt8)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VArray3_VBool_VArray3_VBool)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VUnionDepth1_VUint64_VUnionDepth1_VUint64)(nil))); 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(vdl.TypeOf((*VUnionDepth1_VUint64)(nil))).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(vdl.TypeOf((*VUnionDepth1_VUint64)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VStructDepth2_All)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F1 != (VArray1_Uint32{}) {
		if err := enc.NextField("F1"); err != nil {
			return err
		}
		if err := x.F1.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F2) != 0 {
		if err := enc.NextField("F2"); 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("F3"); err != nil {
			return err
		}
		if err := x.F3.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F4) != 0 {
		if err := enc.NextField("F4"); 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("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F6) != 0 {
		if err := enc.NextField("F6"); 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("F7"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_7(enc, x.F7); err != nil {
			return err
		}
	}
	if !x.F8.VDLIsZero() {
		if err := enc.NextField("F8"); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F9 != (VStructDepth1_Bool{}) {
		if err := enc.NextField("F9"); 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("F10"); 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("F11"); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F12 != nil {
		if err := enc.NextField("F12"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F12.VDLWrite(enc); err != nil {
			return err
		}

	}
	if x.F13 != nil {
		if err := enc.NextField("F13"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F13.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_5(enc vdl.Encoder, x []int16) error {
	if err := enc.StartValue(vdl.TypeOf((*[]int16)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int16Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(int64(x[i])); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_set_6(enc vdl.Encoder, x map[float64]struct{}) error {
	if err := enc.StartValue(vdl.TypeOf((*map[float64]struct{})(nil))); 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 := enc.StartValue(vdl.Float64Type); err != nil {
			return err
		}
		if err := enc.EncodeFloat(key); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_7(enc vdl.Encoder, x map[uint32]uint32) error {
	if err := enc.StartValue(vdl.TypeOf((*map[uint32]uint32)(nil))); 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 := enc.StartValue(vdl.Uint32Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(key)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Uint32Type); err != nil {
			return err
		}
		if err := enc.EncodeUint(uint64(elem)); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		case "F1":
			if err := x.F1.VDLRead(dec); err != nil {
				return err
			}
		case "F2":
			if err := __VDLReadAnon_list_5(dec, &x.F2); err != nil {
				return err
			}
		case "F3":
			if err := x.F3.VDLRead(dec); err != nil {
				return err
			}
		case "F4":
			if err := __VDLReadAnon_set_6(dec, &x.F4); err != nil {
				return err
			}
		case "F5":
			if err := x.F5.VDLRead(dec); err != nil {
				return err
			}
		case "F6":
			if err := __VDLReadAnon_map_2(dec, &x.F6); err != nil {
				return err
			}
		case "F7":
			if err := __VDLReadAnon_map_7(dec, &x.F7); err != nil {
				return err
			}
		case "F8":
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		case "F9":
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		case "F10":
			if err := VDLReadVUnionDepth1_All(dec, &x.F10); err != nil {
				return err
			}
		case "F11":
			if err := VDLReadVUnionDepth1_Float64(dec, &x.F11); err != nil {
				return err
			}
		case "F12":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F12), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F12, dec.Type())
				}
				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 "F13":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F13), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F13, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

func __VDLReadAnon_list_5(dec vdl.Decoder, x *[]int16) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make([]int16, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem int16
		if err := dec.StartValue(); err != nil {
			return err
		}
		tmp, err := dec.DecodeInt(16)
		if err != nil {
			return err
		}
		elem = int16(tmp)
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

func __VDLReadAnon_set_6(dec vdl.Decoder, x *map[float64]struct{}) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	var tmpMap map[float64]struct{}
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[float64]struct{}, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key float64
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if key, err = dec.DecodeFloat(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap map[uint32]uint32
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[uint32]uint32, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key uint32
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(32)
			if err != nil {
				return err
			}
			key = uint32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		var elem uint32
		{
			if err := dec.StartValue(); err != nil {
				return err
			}
			tmp, err := dec.DecodeUint(32)
			if err != nil {
				return err
			}
			elem = uint32(tmp)
			if err := dec.FinishValue(); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(map[uint32]uint32)
		}
		tmpMap[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(vdl.TypeOf((*VStructDepth2_VArray2_TypeObject)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VArray1_Uint32)(nil)).Elem()); err != nil {
		return err
	}
	if x.F1 != (VArray1_Uint32{}) {
		if err := enc.NextField("F1"); err != nil {
			return err
		}
		if err := x.F1.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F1":
			if err := x.F1.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_List_Int16)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F2) != 0 {
		if err := enc.NextField("F2"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_5(enc, x.F2); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F2":
			if err := __VDLReadAnon_list_5(dec, &x.F2); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VList_Any)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F3) != 0 {
		if err := enc.NextField("F3"); err != nil {
			return err
		}
		if err := x.F3.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F3":
			if err := x.F3.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F4) != 0 {
		if err := enc.NextField("F4"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_6(enc, x.F4); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F4":
			if err := __VDLReadAnon_set_6(dec, &x.F4); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F5) != 0 {
		if err := enc.NextField("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F5":
			if err := x.F5.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F6) != 0 {
		if err := enc.NextField("F6"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_2(enc, x.F6); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F6":
			if err := __VDLReadAnon_map_2(dec, &x.F6); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_Map_Uint32_Uint32)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F7) != 0 {
		if err := enc.NextField("F7"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_7(enc, x.F7); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F7":
			if err := __VDLReadAnon_map_7(dec, &x.F7); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VStructDepth1_All)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F8.VDLIsZero() {
		if err := enc.NextField("F8"); err != nil {
			return err
		}
		if err := x.F8.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F8":
			if err := x.F8.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VStructDepth1_Bool)(nil)).Elem()); err != nil {
		return err
	}
	if x.F9 != (VStructDepth1_Bool{}) {
		if err := enc.NextField("F9"); err != nil {
			return err
		}
		if err := x.F9.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F9":
			if err := x.F9.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VUnionDepth1_All)(nil)).Elem()); err != nil {
		return err
	}
	if x.F10 != nil && !x.F10.VDLIsZero() {
		if err := enc.NextField("F10"); err != nil {
			return err
		}
		if err := x.F10.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F10":
			if err := VDLReadVUnionDepth1_All(dec, &x.F10); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_VUnionDepth1_Float64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F11 != nil && !x.F11.VDLIsZero() {
		if err := enc.NextField("F11"); err != nil {
			return err
		}
		if err := x.F11.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F11":
			if err := VDLReadVUnionDepth1_Float64(dec, &x.F11); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_OptVStructDepth1_VEnumBcd)(nil)).Elem()); err != nil {
		return err
	}
	if x.F12 != nil {
		if err := enc.NextField("F12"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F12.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F12":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F12), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F12, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth2_OptVStructDepth1_VUint16)(nil)).Elem()); err != nil {
		return err
	}
	if x.F13 != nil {
		if err := enc.NextField("F13"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F13.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F13":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F13), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F13, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_map_8(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF7) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F7"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF8) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F8"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF9) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F9"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF10) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F10"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_All)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF11) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F11"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_VUint32)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF12) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F12"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VEnumBcd)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth2_AllF13) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F13"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VFloat32)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_map_8(enc vdl.Encoder, x map[VBool]VBool) error {
	if err := enc.StartValue(vdl.TypeOf((*map[VBool]VBool)(nil))); 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 VDLReadVUnionDepth2_All(dec vdl.Decoder, x *VUnionDepth2_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth2_AllF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F1":
		var field VUnionDepth2_AllF1
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F2":
		var field VUnionDepth2_AllF2
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F3":
		var field VUnionDepth2_AllF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F4":
		var field VUnionDepth2_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F5":
		var field VUnionDepth2_AllF5
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F6":
		var field VUnionDepth2_AllF6
		if err := __VDLReadAnon_map_8(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F7":
		var field VUnionDepth2_AllF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F8":
		var field VUnionDepth2_AllF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F9":
		var field VUnionDepth2_AllF9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F10":
		var field VUnionDepth2_AllF10
		if err := VDLReadVUnionDepth1_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F11":
		var field VUnionDepth2_AllF11
		if err := VDLReadVUnionDepth1_VUint32(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F12":
		var field VUnionDepth2_AllF12
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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 "F13":
		var field VUnionDepth2_AllF13
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

func __VDLReadAnon_map_8(dec vdl.Decoder, x *map[VBool]VBool) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	var tmpMap map[VBool]VBool
	if len := dec.LenHint(); len > 0 {
		tmpMap = make(map[VBool]VBool, len)
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			*x = tmpMap
			return dec.FinishValue()
		}
		var key VBool
		{
			if err := key.VDLRead(dec); err != nil {
				return err
			}
		}
		var elem VBool
		{
			if err := elem.VDLRead(dec); err != nil {
				return err
			}
		}
		if tmpMap == nil {
			tmpMap = make(map[VBool]VBool)
		}
		tmpMap[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(vdl.TypeOf((*VUnionDepth2_VArray1_String)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VArray1_String(dec vdl.Decoder, x *VUnionDepth2_VArray1_String) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth2_VArray1_StringF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VArray2_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VArray2_VByte(dec vdl.Decoder, x *VUnionDepth2_VArray2_VByte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F1":
		var field VUnionDepth2_VArray2_VByteF1
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VList_VByte(dec vdl.Decoder, x *VUnionDepth2_VList_VByte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F2":
		var field VUnionDepth2_VList_VByteF2
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VList_OptVNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VList_OptVNamedError(dec vdl.Decoder, x *VUnionDepth2_VList_OptVNamedError) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F3":
		var field VUnionDepth2_VList_OptVNamedErrorF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VSet_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VSet_VBool(dec vdl.Decoder, x *VUnionDepth2_VSet_VBool) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F4":
		var field VUnionDepth2_VSet_VBoolF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VSet_VNamedError)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VSet_VNamedError(dec vdl.Decoder, x *VUnionDepth2_VSet_VNamedError) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F5":
		var field VUnionDepth2_VSet_VNamedErrorF5
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_Map_VBool_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_map_8(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F6":
		var field VUnionDepth2_Map_VBool_VBoolF6
		if err := __VDLReadAnon_map_8(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VMap_VBool_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F7"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F7":
		var field VUnionDepth2_VMap_VBool_VBoolF7
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VStructDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F8"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VStructDepth1_All(dec vdl.Decoder, x *VUnionDepth2_VStructDepth1_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F8":
		var field VUnionDepth2_VStructDepth1_AllF8
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F9"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VStructDepth1_Int8(dec vdl.Decoder, x *VUnionDepth2_VStructDepth1_Int8) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F9":
		var field VUnionDepth2_VStructDepth1_Int8F9
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F10"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_All)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VUnionDepth1_All(dec vdl.Decoder, x *VUnionDepth2_VUnionDepth1_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F10":
		var field VUnionDepth2_VUnionDepth1_AllF10
		if err := VDLReadVUnionDepth1_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F11"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_VUint32)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_VUnionDepth1_VUint32(dec vdl.Decoder, x *VUnionDepth2_VUnionDepth1_VUint32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F11":
		var field VUnionDepth2_VUnionDepth1_VUint32F11
		if err := VDLReadVUnionDepth1_VUint32(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VEnumBcd)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F12"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VEnumBcd)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_OptVStructDepth1_VEnumBcd(dec vdl.Decoder, x *VUnionDepth2_OptVStructDepth1_VEnumBcd) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F12":
		var field VUnionDepth2_OptVStructDepth1_VEnumBcdF12
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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 "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F13"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth1_VFloat32)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth2_OptVStructDepth1_VFloat32(dec vdl.Decoder, x *VUnionDepth2_OptVStructDepth1_VFloat32) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F13":
		var field VUnionDepth2_OptVStructDepth1_VFloat32F13
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type 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(vdl.TypeOf((*VArray1_VArray1_VList_Byte)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_List_VMap_VByte_VByte)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_9(enc, x[i]); 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(vdl.TypeOf((*[]VMap_VByte_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := __VDLReadAnon_list_9(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

func __VDLReadAnon_list_9(dec vdl.Decoder, x *[]VMap_VByte_VByte) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make([]VMap_VByte_VByte, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VArray2_Set_VUnionDepth1_VNamedError)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_set_10(enc, x[i]); 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(vdl.TypeOf((*map[VUnionDepth1_VNamedError]struct{})(nil))); 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(vdl.TypeOf((*VUnionDepth1_VNamedError)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := __VDLReadAnon_set_10(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

func __VDLReadAnon_set_10(dec vdl.Decoder, x *map[VUnionDepth1_VNamedError]struct{}) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VArray3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, x[i]); 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(vdl.TypeOf((*map[VUnionDepth1_Float64]VUnionDepth1_Float64)(nil))); 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(vdl.TypeOf((*VUnionDepth1_Float64)(nil))).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(vdl.TypeOf((*VUnionDepth1_Float64)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := __VDLReadAnon_map_11(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

func __VDLReadAnon_map_11(dec vdl.Decoder, x *map[VUnionDepth1_Float64]VUnionDepth1_Float64) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VArray2_VStructDepth2_All)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := x[index].VDLRead(dec); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray2_VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	for i := 0; i < 2; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case x[i] == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth2_All)(nil))).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := VDLReadVUnionDepth2_All(dec, &x[index]); err != nil {
			return err
		}
		index++
	}
}

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(vdl.TypeOf((*VArray3_OptVStructDepth2_Set_Float64)(nil))); err != nil {
		return err
	}
	for i := 0; i < 3; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructDepth2_Set_Float64)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x[index]), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", x[index], dec.Type())
			}
			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
			}
		}
		index++
	}
}

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(vdl.TypeOf((*VList_VArray3_VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VArray3_VUnionDepth1_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_List_VMap_VByte_VByte)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_9(enc, x[i]); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_List_VMap_VByte_VByte, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VSet_VArray1_VStructEmpty, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VMap_VArray3_VBool_VArray3_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VMap_VArray3_VBool_VArray3_VBool, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VStructDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VStructDepth2_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case x[i] == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth2_All)(nil))).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_VUnionDepth2_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VList_OptVStructDepth2_Set_Float64)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if x[i] == nil {
			if err := enc.NilValue(vdl.TypeOf((**VStructDepth2_Set_Float64)(nil))); err != nil {
				return err
			}
		} else {
			enc.SetNextStartValueIsOptional()

			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VList_OptVStructDepth2_Set_Float64, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem *VStructDepth2_Set_Float64
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(elem), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", elem, dec.Type())
			}
			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(vdl.TypeOf((*VSet_VArray1_VArray3_Int64)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_VStructDepth2_VStructDepth1_Bool)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil))); 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(vdl.TypeOf((*VUnionDepth2_VArray1_String)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VArray1_VArray3_Int64_VArray1_VArray3_Int64)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VStructDepth2_VArray1_Uint32_VStructDepth2_VArray1_Uint32)(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)(nil))); 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(vdl.TypeOf((*VUnionDepth2_VArray2_VByte)(nil))).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(vdl.TypeOf((*VUnionDepth2_VArray2_VByte)(nil))).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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible map %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VStructDepth3_All)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F1) != 0 {
		if err := enc.NextField("F1"); 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("F2"); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if len(x.F3) != 0 {
		if err := enc.NextField("F3"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, x.F3); err != nil {
			return err
		}
	}
	if !x.F4.VDLIsZero() {
		if err := enc.NextField("F4"); 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("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.F6 != nil {
		if err := enc.NextField("F6"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F6.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_12(enc vdl.Encoder, x []VUnionDepth1_All) error {
	if err := enc.StartValue(vdl.TypeOf((*[]VUnionDepth1_All)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		switch {
		case x[i] == nil:
			// Write the zero value of the union type.
			if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth1_All)(nil))).VDLWrite(enc); err != nil {
				return err
			}
		default:
			if err := x[i].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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		case "F1":
			if err := __VDLReadAnon_list_12(dec, &x.F1); err != nil {
				return err
			}
		case "F2":
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		case "F3":
			if err := __VDLReadAnon_map_11(dec, &x.F3); err != nil {
				return err
			}
		case "F4":
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		case "F5":
			if err := VDLReadVUnionDepth2_All(dec, &x.F5); err != nil {
				return err
			}
		case "F6":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F6), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F6, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

func __VDLReadAnon_list_12(dec vdl.Decoder, x *[]VUnionDepth1_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make([]VUnionDepth1_All, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(vdl.TypeOf((*VStructDepth3_VArray1_Set_VEnumBcd)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F0.VDLIsZero() {
		if err := enc.NextField("F0"); err != nil {
			return err
		}
		if err := x.F0.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F0":
			if err := x.F0.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_List_VUnionDepth1_All)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F1) != 0 {
		if err := enc.NextField("F1"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_list_12(enc, x.F1); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F1":
			if err := __VDLReadAnon_list_12(dec, &x.F1); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_VSet_VArray1_VStructEmpty)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F2) != 0 {
		if err := enc.NextField("F2"); err != nil {
			return err
		}
		if err := x.F2.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F2":
			if err := x.F2.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_Map_VUnionDepth1_Float64_VUnionDepth1_Float64)(nil)).Elem()); err != nil {
		return err
	}
	if len(x.F3) != 0 {
		if err := enc.NextField("F3"); err != nil {
			return err
		}
		if err := __VDLWriteAnon_map_11(enc, x.F3); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F3":
			if err := __VDLReadAnon_map_11(dec, &x.F3); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_VStructDepth2_All)(nil)).Elem()); err != nil {
		return err
	}
	if !x.F4.VDLIsZero() {
		if err := enc.NextField("F4"); err != nil {
			return err
		}
		if err := x.F4.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F4":
			if err := x.F4.VDLRead(dec); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_VUnionDepth2_All)(nil)).Elem()); err != nil {
		return err
	}
	if x.F5 != nil && !x.F5.VDLIsZero() {
		if err := enc.NextField("F5"); err != nil {
			return err
		}
		if err := x.F5.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F5":
			if err := VDLReadVUnionDepth2_All(dec, &x.F5); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VStructDepth3_OptVStructDepth2_Set_Float64)(nil)).Elem()); err != nil {
		return err
	}
	if x.F6 != nil {
		if err := enc.NextField("F6"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.F6.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "F6":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.F6), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.F6, dec.Type())
				}
				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
				}
			}
		default:
			if err := dec.SkipValue(); 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(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF1) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_list_13(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF2) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_set_14(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF3) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF4) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF5) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth2_All)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x VUnionDepth3_AllF6) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VUnionDepth3_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth2_Set_Float64)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func __VDLWriteAnon_list_13(enc vdl.Encoder, x []VList_Error) error {
	if err := enc.StartValue(vdl.TypeOf((*[]VList_Error)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := x[i].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(vdl.TypeOf((*map[VStructDepth1_String]struct{})(nil))); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth3_AllF0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F1":
		var field VUnionDepth3_AllF1
		if err := __VDLReadAnon_list_13(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F2":
		var field VUnionDepth3_AllF2
		if err := __VDLReadAnon_set_14(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F3":
		var field VUnionDepth3_AllF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F4":
		var field VUnionDepth3_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "F5":
		var field VUnionDepth3_AllF5
		if err := VDLReadVUnionDepth2_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "F6":
		var field VUnionDepth3_AllF6
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

func __VDLReadAnon_list_13(dec vdl.Decoder, x *[]VList_Error) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make([]VList_Error, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible set %T, from %v", *x, dec.Type())
	}
	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()
		}
		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(vdl.TypeOf((*VUnionDepth3_VArray3_OptVStructDepth1_VFloat32)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F0"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F0":
		var field VUnionDepth3_VArray3_OptVStructDepth1_VFloat32F0
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_List_VList_Error)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F1"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_list_13(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F1":
		var field VUnionDepth3_List_VList_ErrorF1
		if err := __VDLReadAnon_list_13(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_Set_VStructDepth1_String)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F2"); err != nil {
		return err
	}
	if err := __VDLWriteAnon_set_14(enc, x.Value); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F2":
		var field VUnionDepth3_Set_VStructDepth1_StringF2
		if err := __VDLReadAnon_set_14(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F3"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F3":
		var field VUnionDepth3_VMap_VStructDepth1_VBool_VStructDepth1_VBoolF3
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_VStructDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F4"); err != nil {
		return err
	}
	if err := x.Value.VDLWrite(enc); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VStructDepth2_All(dec vdl.Decoder, x *VUnionDepth3_VStructDepth2_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F4":
		var field VUnionDepth3_VStructDepth2_AllF4
		if err := field.Value.VDLRead(dec); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_VUnionDepth2_All)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F5"); err != nil {
		return err
	}
	switch {
	case x.Value == nil:
		// Write the zero value of the union type.
		if err := vdl.ZeroValue(vdl.TypeOf((*VUnionDepth2_All)(nil))).VDLWrite(enc); err != nil {
			return err
		}
	default:
		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVUnionDepth3_VUnionDepth2_All(dec vdl.Decoder, x *VUnionDepth3_VUnionDepth2_All) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F5":
		var field VUnionDepth3_VUnionDepth2_AllF5
		if err := VDLReadVUnionDepth2_All(dec, &field.Value); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// 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(vdl.TypeOf((*VUnionDepth3_OptVStructDepth2_Set_Float64)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("F6"); err != nil {
		return err
	}
	if x.Value == nil {
		if err := enc.NilValue(vdl.TypeOf((**VStructDepth2_Set_Float64)(nil))); err != nil {
			return err
		}
	} else {
		enc.SetNextStartValueIsOptional()

		if err := x.Value.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); 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(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "F6":
		var field VUnionDepth3_OptVStructDepth2_Set_Float64F6
		if err := dec.StartValue(); err != nil {
			return err
		}
		if dec.IsNil() {
			if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(field.Value), dec.Type()) {
				return fmt.Errorf("incompatible optional %T, from %v", field.Value, dec.Type())
			}
			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
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

// VSelfCycle tests self-cyclic types.
type VSelfCycle struct {
	Data int64
	Next *VSelfCycle
}

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

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

func (x VSelfCycle) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VSelfCycle)(nil)).Elem()); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextField("Data"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x.Data); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.Next != nil {
		if err := enc.NextField("Next"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.Next.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VSelfCycle) VDLRead(dec vdl.Decoder) error {
	*x = VSelfCycle{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "Data":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Data, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "Next":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.Next), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.Next, dec.Type())
				}
				x.Next = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.Next = new(VSelfCycle)
				dec.IgnoreNextStartValue()
				if err := x.Next.VDLRead(dec); err != nil {
					return err
				}
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

// VMutualCycleB tests mutually cyclic types A and B.
type VMutualCycleB struct {
	Data int64
	A    *VMutualCycleA
}

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

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

func (x VMutualCycleB) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VMutualCycleB)(nil)).Elem()); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextField("Data"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x.Data); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.A != nil {
		if err := enc.NextField("A"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.A.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMutualCycleB) VDLRead(dec vdl.Decoder) error {
	*x = VMutualCycleB{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "Data":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Data, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "A":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.A), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.A, dec.Type())
				}
				x.A = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.A = new(VMutualCycleA)
				dec.IgnoreNextStartValue()
				if err := x.A.VDLRead(dec); err != nil {
					return err
				}
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

// VMutualCycleA tests mutually cyclic types A and B.
type VMutualCycleA struct {
	Data int64
	B    *VMutualCycleB
}

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

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

func (x VMutualCycleA) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VMutualCycleA)(nil)).Elem()); err != nil {
		return err
	}
	if x.Data != 0 {
		if err := enc.NextField("Data"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.Int64Type); err != nil {
			return err
		}
		if err := enc.EncodeInt(x.Data); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if x.B != nil {
		if err := enc.NextField("B"); err != nil {
			return err
		}
		enc.SetNextStartValueIsOptional()

		if err := x.B.VDLWrite(enc); err != nil {
			return err
		}

	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VMutualCycleA) VDLRead(dec vdl.Decoder) error {
	*x = VMutualCycleA{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "Data":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.Data, err = dec.DecodeInt(64); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		case "B":
			if err := dec.StartValue(); err != nil {
				return err
			}
			if dec.IsNil() {
				if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x.B), dec.Type()) {
					return fmt.Errorf("incompatible optional %T, from %v", x.B, dec.Type())
				}
				x.B = nil
				if err := dec.FinishValue(); err != nil {
					return err
				}
			} else {
				x.B = new(VMutualCycleB)
				dec.IgnoreNextStartValue()
				if err := x.B.VDLRead(dec); err != nil {
					return err
				}
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireBoolNBool bool

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

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

func (x VWireBoolNBool) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNBool)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBool(bool(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireBoolNBool) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeBool()
	if err != nil {
		return err
	}
	*x = VWireBoolNBool(tmp)
	return dec.FinishValue()
}

type VWireBoolNString bool

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

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

func (x VWireBoolNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNString)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBool(bool(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireBoolNString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeBool()
	if err != nil {
		return err
	}
	*x = VWireBoolNString(tmp)
	return dec.FinishValue()
}

type VWireBoolNStruct bool

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

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

func (x VWireBoolNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireBoolNStruct)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeBool(bool(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireBoolNStruct) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeBool()
	if err != nil {
		return err
	}
	*x = VWireBoolNStruct(tmp)
	return dec.FinishValue()
}

type VWireIntNInt int32

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

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

func (x VWireIntNInt) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireIntNInt)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireIntNInt) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(32)
	if err != nil {
		return err
	}
	*x = VWireIntNInt(tmp)
	return dec.FinishValue()
}

type VWireIntNString int32

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

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

func (x VWireIntNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireIntNString)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireIntNString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(32)
	if err != nil {
		return err
	}
	*x = VWireIntNString(tmp)
	return dec.FinishValue()
}

type VWireIntNStruct int32

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

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

func (x VWireIntNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireIntNStruct)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeInt(int64(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireIntNStruct) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeInt(32)
	if err != nil {
		return err
	}
	*x = VWireIntNStruct(tmp)
	return dec.FinishValue()
}

type VWireStringNString string

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

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

func (x VWireStringNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStringNString)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeString(string(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStringNString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeString()
	if err != nil {
		return err
	}
	*x = VWireStringNString(tmp)
	return dec.FinishValue()
}

type VWireStringNStruct string

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

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

func (x VWireStringNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStringNStruct)(nil))); err != nil {
		return err
	}
	if err := enc.EncodeString(string(x)); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStringNStruct) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	tmp, err := dec.DecodeString()
	if err != nil {
		return err
	}
	*x = VWireStringNStruct(tmp)
	return dec.FinishValue()
}

type VWireArrayNString [1]string

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

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

func (x VWireArrayNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireArrayNString)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireArrayNString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

type VWireArrayNStruct [1]string

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

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

func (x VWireArrayNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireArrayNStruct)(nil))); err != nil {
		return err
	}
	for i := 0; i < 1; i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireArrayNStruct) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible array %T, from %v", *x, dec.Type())
	}
	index := 0
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done != (index >= len(*x)):
			return fmt.Errorf("array len mismatch, done:%v index:%d len:%d %T)", done, index, len(*x), *x)
		case done:
			return dec.FinishValue()
		}
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if x[index], err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		index++
	}
}

type VWireListNString []string

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

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

func (x VWireListNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireListNString)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireListNString) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VWireListNString, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem string
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if elem, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

type VWireListNStruct []string

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

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

func (x VWireListNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireListNStruct)(nil))); err != nil {
		return err
	}
	if err := enc.SetLenHint(len(x)); err != nil {
		return err
	}
	for i := 0; i < len(x); i++ {
		if err := enc.NextEntry(false); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x[i]); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextEntry(true); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireListNStruct) VDLRead(dec vdl.Decoder) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible list %T, from %v", *x, dec.Type())
	}
	switch len := dec.LenHint(); {
	case len > 0:
		*x = make(VWireListNStruct, 0, len)
	default:
		*x = nil
	}
	for {
		switch done, err := dec.NextEntry(); {
		case err != nil:
			return err
		case done:
			return dec.FinishValue()
		}
		var elem string
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if elem, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = append(*x, elem)
	}
}

type VWireStructNString struct {
	X string
}

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

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

func (x VWireStructNString) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNString)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNString) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNString{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireStructNStruct struct {
	X string
}

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

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

func (x VWireStructNStruct) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNStruct)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNStruct) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNStruct{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireStructNArray struct {
	X string
}

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

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

func (x VWireStructNArray) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNArray)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNArray) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNArray{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireStructNSlice struct {
	X string
}

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

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

func (x VWireStructNSlice) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNSlice)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNSlice) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNSlice{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireStructNPointer struct {
	X string
}

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

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

func (x VWireStructNPointer) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNPointer)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNPointer) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNPointer{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type VWireStructNIface struct {
	X string
}

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

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

func (x VWireStructNIface) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireStructNIface)(nil)).Elem()); err != nil {
		return err
	}
	if x.X != "" {
		if err := enc.NextField("X"); err != nil {
			return err
		}
		if err := enc.StartValue(vdl.StringType); err != nil {
			return err
		}
		if err := enc.EncodeString(x.X); err != nil {
			return err
		}
		if err := enc.FinishValue(); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireStructNIface) VDLRead(dec vdl.Decoder) error {
	*x = VWireStructNIface{}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "X":
			if err := dec.StartValue(); err != nil {
				return err
			}
			var err error
			if x.X, err = dec.DecodeString(); err != nil {
				return err
			}
			if err := dec.FinishValue(); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type (
	// VWireUnionNString represents any single field of the VWireUnionNString union type.
	VWireUnionNString interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNString union type.
		__VDLReflect(__VWireUnionNStringReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNStringX represents field X of the VWireUnionNString union type.
	VWireUnionNStringX struct{ Value string }
	// __VWireUnionNStringReflect describes the VWireUnionNString union type.
	__VWireUnionNStringReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNString"`
		Type  VWireUnionNString
		Union struct {
			X VWireUnionNStringX
		}
	}
)

func (x VWireUnionNStringX) Index() int                              { return 0 }
func (x VWireUnionNStringX) Interface() interface{}                  { return x.Value }
func (x VWireUnionNStringX) Name() string                            { return "X" }
func (x VWireUnionNStringX) __VDLReflect(__VWireUnionNStringReflect) {}

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

func (x VWireUnionNStringX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNString)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNString(dec vdl.Decoder, x *VWireUnionNString) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNStringX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VWireUnionNStruct represents any single field of the VWireUnionNStruct union type.
	VWireUnionNStruct interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNStruct union type.
		__VDLReflect(__VWireUnionNStructReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNStructX represents field X of the VWireUnionNStruct union type.
	VWireUnionNStructX struct{ Value string }
	// __VWireUnionNStructReflect describes the VWireUnionNStruct union type.
	__VWireUnionNStructReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNStruct"`
		Type  VWireUnionNStruct
		Union struct {
			X VWireUnionNStructX
		}
	}
)

func (x VWireUnionNStructX) Index() int                              { return 0 }
func (x VWireUnionNStructX) Interface() interface{}                  { return x.Value }
func (x VWireUnionNStructX) Name() string                            { return "X" }
func (x VWireUnionNStructX) __VDLReflect(__VWireUnionNStructReflect) {}

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

func (x VWireUnionNStructX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNStruct)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNStruct(dec vdl.Decoder, x *VWireUnionNStruct) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNStructX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VWireUnionNArray represents any single field of the VWireUnionNArray union type.
	VWireUnionNArray interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNArray union type.
		__VDLReflect(__VWireUnionNArrayReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNArrayX represents field X of the VWireUnionNArray union type.
	VWireUnionNArrayX struct{ Value string }
	// __VWireUnionNArrayReflect describes the VWireUnionNArray union type.
	__VWireUnionNArrayReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNArray"`
		Type  VWireUnionNArray
		Union struct {
			X VWireUnionNArrayX
		}
	}
)

func (x VWireUnionNArrayX) Index() int                             { return 0 }
func (x VWireUnionNArrayX) Interface() interface{}                 { return x.Value }
func (x VWireUnionNArrayX) Name() string                           { return "X" }
func (x VWireUnionNArrayX) __VDLReflect(__VWireUnionNArrayReflect) {}

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

func (x VWireUnionNArrayX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNArray)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNArray(dec vdl.Decoder, x *VWireUnionNArray) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNArrayX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VWireUnionNSlice represents any single field of the VWireUnionNSlice union type.
	VWireUnionNSlice interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNSlice union type.
		__VDLReflect(__VWireUnionNSliceReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNSliceX represents field X of the VWireUnionNSlice union type.
	VWireUnionNSliceX struct{ Value string }
	// __VWireUnionNSliceReflect describes the VWireUnionNSlice union type.
	__VWireUnionNSliceReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNSlice"`
		Type  VWireUnionNSlice
		Union struct {
			X VWireUnionNSliceX
		}
	}
)

func (x VWireUnionNSliceX) Index() int                             { return 0 }
func (x VWireUnionNSliceX) Interface() interface{}                 { return x.Value }
func (x VWireUnionNSliceX) Name() string                           { return "X" }
func (x VWireUnionNSliceX) __VDLReflect(__VWireUnionNSliceReflect) {}

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

func (x VWireUnionNSliceX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNSlice)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNSlice(dec vdl.Decoder, x *VWireUnionNSlice) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNSliceX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VWireUnionNPointer represents any single field of the VWireUnionNPointer union type.
	VWireUnionNPointer interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNPointer union type.
		__VDLReflect(__VWireUnionNPointerReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNPointerX represents field X of the VWireUnionNPointer union type.
	VWireUnionNPointerX struct{ Value string }
	// __VWireUnionNPointerReflect describes the VWireUnionNPointer union type.
	__VWireUnionNPointerReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNPointer"`
		Type  VWireUnionNPointer
		Union struct {
			X VWireUnionNPointerX
		}
	}
)

func (x VWireUnionNPointerX) Index() int                               { return 0 }
func (x VWireUnionNPointerX) Interface() interface{}                   { return x.Value }
func (x VWireUnionNPointerX) Name() string                             { return "X" }
func (x VWireUnionNPointerX) __VDLReflect(__VWireUnionNPointerReflect) {}

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

func (x VWireUnionNPointerX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNPointer)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNPointer(dec vdl.Decoder, x *VWireUnionNPointer) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNPointerX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

type (
	// VWireUnionNIface represents any single field of the VWireUnionNIface union type.
	VWireUnionNIface interface {
		// Index returns the field index.
		Index() int
		// Interface returns the field value as an interface.
		Interface() interface{}
		// Name returns the field name.
		Name() string
		// __VDLReflect describes the VWireUnionNIface union type.
		__VDLReflect(__VWireUnionNIfaceReflect)
		VDLIsZero() bool
		VDLWrite(vdl.Encoder) error
	}
	// VWireUnionNIfaceX represents field X of the VWireUnionNIface union type.
	VWireUnionNIfaceX struct{ Value string }
	// __VWireUnionNIfaceReflect describes the VWireUnionNIface union type.
	__VWireUnionNIfaceReflect struct {
		Name  string `vdl:"v.io/v23/vdl/vdltest.VWireUnionNIface"`
		Type  VWireUnionNIface
		Union struct {
			X VWireUnionNIfaceX
		}
	}
)

func (x VWireUnionNIfaceX) Index() int                             { return 0 }
func (x VWireUnionNIfaceX) Interface() interface{}                 { return x.Value }
func (x VWireUnionNIfaceX) Name() string                           { return "X" }
func (x VWireUnionNIfaceX) __VDLReflect(__VWireUnionNIfaceReflect) {}

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

func (x VWireUnionNIfaceX) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireUnionNIface)(nil))); err != nil {
		return err
	}
	if err := enc.NextField("X"); err != nil {
		return err
	}
	if err := enc.StartValue(vdl.StringType); err != nil {
		return err
	}
	if err := enc.EncodeString(x.Value); err != nil {
		return err
	}
	if err := enc.FinishValue(); err != nil {
		return err
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func VDLReadVWireUnionNIface(dec vdl.Decoder, x *VWireUnionNIface) error {
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(x), dec.Type()) {
		return fmt.Errorf("incompatible union %T, from %v", x, dec.Type())
	}
	f, err := dec.NextField()
	if err != nil {
		return err
	}
	switch f {
	case "X":
		var field VWireUnionNIfaceX
		if err := dec.StartValue(); err != nil {
			return err
		}
		var err error
		if field.Value, err = dec.DecodeString(); err != nil {
			return err
		}
		if err := dec.FinishValue(); err != nil {
			return err
		}
		*x = field
	case "":
		return fmt.Errorf("missing field in union %T, from %v", x, dec.Type())
	default:
		return fmt.Errorf("field %q not in union %T, from %v", f, x, dec.Type())
	}
	switch f, err := dec.NextField(); {
	case err != nil:
		return err
	case f != "":
		return fmt.Errorf("extra field %q in union %T, from %v", f, x, dec.Type())
	}
	return dec.FinishValue()
}

// VWireAll contains all wire types, which will be represented as native types
// in the generated code.
type VWireAll struct {
	BoolNBool      VNativeWireBoolNBool
	BoolNString    VNativeWireBoolNString
	BoolNStruct    VNativeWireBoolNStruct
	IntNInt        VNativeWireIntNInt
	IntNString     VNativeWireIntNString
	IntNStruct     VNativeWireIntNStruct
	StringNString  VNativeWireStringNString
	StringNStruct  VNativeWireStringNStruct
	ArrayNString   VNativeWireArrayNString
	ArrayNStruct   VNativeWireArrayNStruct
	ListNString    VNativeWireListNString
	ListNStruct    VNativeWireListNStruct
	StructNString  VNativeWireStructNString
	StructNStruct  VNativeWireStructNStruct
	StructNArray   VNativeWireStructNArray
	StructNSlice   VNativeWireStructNSlice
	StructNPointer VWireStructNPointer
	StructNIface   VWireStructNIface
	UnionNString   VNativeWireUnionNString
	UnionNStruct   VNativeWireUnionNStruct
	UnionNArray    VNativeWireUnionNArray
	UnionNSlice    VNativeWireUnionNSlice
	UnionNPointer  VWireUnionNPointer
	UnionNIface    VWireUnionNIface
}

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

func (x VWireAll) VDLIsZero() bool {
	if x.BoolNBool != false {
		return false
	}
	if x.BoolNString != "" {
		return false
	}
	if x.BoolNStruct != (VNativeWireBoolNStruct{}) {
		return false
	}
	if x.IntNInt != 0 {
		return false
	}
	if x.IntNString != "" {
		return false
	}
	if x.IntNStruct != (VNativeWireIntNStruct{}) {
		return false
	}
	if x.StringNString != "" {
		return false
	}
	if x.StringNStruct != (VNativeWireStringNStruct{}) {
		return false
	}
	if x.ArrayNString != "" {
		return false
	}
	if x.ArrayNStruct != (VNativeWireArrayNStruct{}) {
		return false
	}
	if x.ListNString != "" {
		return false
	}
	if x.ListNStruct != (VNativeWireListNStruct{}) {
		return false
	}
	if x.StructNString != "" {
		return false
	}
	if x.StructNStruct != (VNativeWireStructNStruct{}) {
		return false
	}
	if x.StructNArray != (VNativeWireStructNArray{}) {
		return false
	}
	if !x.StructNSlice.IsZero() {
		return false
	}
	if x.StructNPointer != (VWireStructNPointer{}) {
		return false
	}
	if x.StructNIface != (VWireStructNIface{}) {
		return false
	}
	if x.UnionNString != "" {
		return false
	}
	if x.UnionNStruct != (VNativeWireUnionNStruct{}) {
		return false
	}
	if x.UnionNArray != (VNativeWireUnionNArray{}) {
		return false
	}
	if !x.UnionNSlice.IsZero() {
		return false
	}
	if x.UnionNPointer != nil && !x.UnionNPointer.VDLIsZero() {
		return false
	}
	if x.UnionNIface != nil && !x.UnionNIface.VDLIsZero() {
		return false
	}
	return true
}

func (x VWireAll) VDLWrite(enc vdl.Encoder) error {
	if err := enc.StartValue(vdl.TypeOf((*VWireAll)(nil)).Elem()); err != nil {
		return err
	}
	if x.BoolNBool != false {
		if err := enc.NextField("BoolNBool"); err != nil {
			return err
		}
		var wire VWireBoolNBool
		if err := VWireBoolNBoolFromNative(&wire, x.BoolNBool); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.BoolNString != "" {
		if err := enc.NextField("BoolNString"); err != nil {
			return err
		}
		var wire VWireBoolNString
		if err := VWireBoolNStringFromNative(&wire, x.BoolNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.BoolNStruct != (VNativeWireBoolNStruct{}) {
		if err := enc.NextField("BoolNStruct"); err != nil {
			return err
		}
		var wire VWireBoolNStruct
		if err := VWireBoolNStructFromNative(&wire, x.BoolNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.IntNInt != 0 {
		if err := enc.NextField("IntNInt"); err != nil {
			return err
		}
		var wire VWireIntNInt
		if err := VWireIntNIntFromNative(&wire, x.IntNInt); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.IntNString != "" {
		if err := enc.NextField("IntNString"); err != nil {
			return err
		}
		var wire VWireIntNString
		if err := VWireIntNStringFromNative(&wire, x.IntNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.IntNStruct != (VNativeWireIntNStruct{}) {
		if err := enc.NextField("IntNStruct"); err != nil {
			return err
		}
		var wire VWireIntNStruct
		if err := VWireIntNStructFromNative(&wire, x.IntNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StringNString != "" {
		if err := enc.NextField("StringNString"); err != nil {
			return err
		}
		var wire VWireStringNString
		if err := VWireStringNStringFromNative(&wire, x.StringNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StringNStruct != (VNativeWireStringNStruct{}) {
		if err := enc.NextField("StringNStruct"); err != nil {
			return err
		}
		var wire VWireStringNStruct
		if err := VWireStringNStructFromNative(&wire, x.StringNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.ArrayNString != "" {
		if err := enc.NextField("ArrayNString"); err != nil {
			return err
		}
		var wire VWireArrayNString
		if err := VWireArrayNStringFromNative(&wire, x.ArrayNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.ArrayNStruct != (VNativeWireArrayNStruct{}) {
		if err := enc.NextField("ArrayNStruct"); err != nil {
			return err
		}
		var wire VWireArrayNStruct
		if err := VWireArrayNStructFromNative(&wire, x.ArrayNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.ListNString != "" {
		if err := enc.NextField("ListNString"); err != nil {
			return err
		}
		var wire VWireListNString
		if err := VWireListNStringFromNative(&wire, x.ListNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.ListNStruct != (VNativeWireListNStruct{}) {
		if err := enc.NextField("ListNStruct"); err != nil {
			return err
		}
		var wire VWireListNStruct
		if err := VWireListNStructFromNative(&wire, x.ListNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNString != "" {
		if err := enc.NextField("StructNString"); err != nil {
			return err
		}
		var wire VWireStructNString
		if err := VWireStructNStringFromNative(&wire, x.StructNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNStruct != (VNativeWireStructNStruct{}) {
		if err := enc.NextField("StructNStruct"); err != nil {
			return err
		}
		var wire VWireStructNStruct
		if err := VWireStructNStructFromNative(&wire, x.StructNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNArray != (VNativeWireStructNArray{}) {
		if err := enc.NextField("StructNArray"); err != nil {
			return err
		}
		var wire VWireStructNArray
		if err := VWireStructNArrayFromNative(&wire, x.StructNArray); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if !x.StructNSlice.IsZero() {
		if err := enc.NextField("StructNSlice"); err != nil {
			return err
		}
		var wire VWireStructNSlice
		if err := VWireStructNSliceFromNative(&wire, x.StructNSlice); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNPointer != (VWireStructNPointer{}) {
		if err := enc.NextField("StructNPointer"); err != nil {
			return err
		}
		if err := x.StructNPointer.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.StructNIface != (VWireStructNIface{}) {
		if err := enc.NextField("StructNIface"); err != nil {
			return err
		}
		if err := x.StructNIface.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNString != "" {
		if err := enc.NextField("UnionNString"); err != nil {
			return err
		}
		var wire VWireUnionNString
		if err := VWireUnionNStringFromNative(&wire, x.UnionNString); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNStruct != (VNativeWireUnionNStruct{}) {
		if err := enc.NextField("UnionNStruct"); err != nil {
			return err
		}
		var wire VWireUnionNStruct
		if err := VWireUnionNStructFromNative(&wire, x.UnionNStruct); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNArray != (VNativeWireUnionNArray{}) {
		if err := enc.NextField("UnionNArray"); err != nil {
			return err
		}
		var wire VWireUnionNArray
		if err := VWireUnionNArrayFromNative(&wire, x.UnionNArray); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if !x.UnionNSlice.IsZero() {
		if err := enc.NextField("UnionNSlice"); err != nil {
			return err
		}
		var wire VWireUnionNSlice
		if err := VWireUnionNSliceFromNative(&wire, x.UnionNSlice); err != nil {
			return err
		}
		if err := wire.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNPointer != nil && !x.UnionNPointer.VDLIsZero() {
		if err := enc.NextField("UnionNPointer"); err != nil {
			return err
		}
		if err := x.UnionNPointer.VDLWrite(enc); err != nil {
			return err
		}
	}
	if x.UnionNIface != nil && !x.UnionNIface.VDLIsZero() {
		if err := enc.NextField("UnionNIface"); err != nil {
			return err
		}
		if err := x.UnionNIface.VDLWrite(enc); err != nil {
			return err
		}
	}
	if err := enc.NextField(""); err != nil {
		return err
	}
	return enc.FinishValue()
}

func (x *VWireAll) VDLRead(dec vdl.Decoder) error {
	*x = VWireAll{
		UnionNPointer: VWireUnionNPointerX{},
		UnionNIface:   VWireUnionNIfaceX{},
	}
	if err := dec.StartValue(); err != nil {
		return err
	}
	if (dec.StackDepth() == 1 || dec.IsAny()) && !vdl.Compatible(vdl.TypeOf(*x), dec.Type()) {
		return fmt.Errorf("incompatible struct %T, from %v", *x, dec.Type())
	}
	for {
		f, err := dec.NextField()
		if err != nil {
			return err
		}
		switch f {
		case "":
			return dec.FinishValue()
		case "BoolNBool":
			var wire VWireBoolNBool
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNBoolToNative(wire, &x.BoolNBool); err != nil {
				return err
			}
		case "BoolNString":
			var wire VWireBoolNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNStringToNative(wire, &x.BoolNString); err != nil {
				return err
			}
		case "BoolNStruct":
			var wire VWireBoolNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireBoolNStructToNative(wire, &x.BoolNStruct); err != nil {
				return err
			}
		case "IntNInt":
			var wire VWireIntNInt
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNIntToNative(wire, &x.IntNInt); err != nil {
				return err
			}
		case "IntNString":
			var wire VWireIntNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNStringToNative(wire, &x.IntNString); err != nil {
				return err
			}
		case "IntNStruct":
			var wire VWireIntNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireIntNStructToNative(wire, &x.IntNStruct); err != nil {
				return err
			}
		case "StringNString":
			var wire VWireStringNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStringNStringToNative(wire, &x.StringNString); err != nil {
				return err
			}
		case "StringNStruct":
			var wire VWireStringNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStringNStructToNative(wire, &x.StringNStruct); err != nil {
				return err
			}
		case "ArrayNString":
			var wire VWireArrayNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireArrayNStringToNative(wire, &x.ArrayNString); err != nil {
				return err
			}
		case "ArrayNStruct":
			var wire VWireArrayNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireArrayNStructToNative(wire, &x.ArrayNStruct); err != nil {
				return err
			}
		case "ListNString":
			var wire VWireListNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireListNStringToNative(wire, &x.ListNString); err != nil {
				return err
			}
		case "ListNStruct":
			var wire VWireListNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireListNStructToNative(wire, &x.ListNStruct); err != nil {
				return err
			}
		case "StructNString":
			var wire VWireStructNString
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNStringToNative(wire, &x.StructNString); err != nil {
				return err
			}
		case "StructNStruct":
			var wire VWireStructNStruct
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNStructToNative(wire, &x.StructNStruct); err != nil {
				return err
			}
		case "StructNArray":
			var wire VWireStructNArray
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNArrayToNative(wire, &x.StructNArray); err != nil {
				return err
			}
		case "StructNSlice":
			var wire VWireStructNSlice
			if err := wire.VDLRead(dec); err != nil {
				return err
			}
			if err := VWireStructNSliceToNative(wire, &x.StructNSlice); err != nil {
				return err
			}
		case "StructNPointer":
			if err := x.StructNPointer.VDLRead(dec); err != nil {
				return err
			}
		case "StructNIface":
			if err := x.StructNIface.VDLRead(dec); err != nil {
				return err
			}
		case "UnionNString":
			var wire VWireUnionNString
			if err := VDLReadVWireUnionNString(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNStringToNative(wire, &x.UnionNString); err != nil {
				return err
			}
		case "UnionNStruct":
			var wire VWireUnionNStruct
			if err := VDLReadVWireUnionNStruct(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNStructToNative(wire, &x.UnionNStruct); err != nil {
				return err
			}
		case "UnionNArray":
			var wire VWireUnionNArray
			if err := VDLReadVWireUnionNArray(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNArrayToNative(wire, &x.UnionNArray); err != nil {
				return err
			}
		case "UnionNSlice":
			var wire VWireUnionNSlice
			if err := VDLReadVWireUnionNSlice(dec, &wire); err != nil {
				return err
			}
			if err := VWireUnionNSliceToNative(wire, &x.UnionNSlice); err != nil {
				return err
			}
		case "UnionNPointer":
			if err := VDLReadVWireUnionNPointer(dec, &x.UnionNPointer); err != nil {
				return err
			}
		case "UnionNIface":
			if err := VDLReadVWireUnionNIface(dec, &x.UnionNIface); err != nil {
				return err
			}
		default:
			if err := dec.SkipValue(); err != nil {
				return err
			}
		}
	}
}

type XBool bool

func (XBool) __VDLReflect(struct {
	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:      vdl.TypeOf((*[]bool)(nil)),
		SourceLabel: "typeobject([]bool)",
		Source:      vdl.TypeOf((*[]bool)(nil)),
	},
	{
		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{
			vdl.TypeOf((*VFloat64)(nil)),
			vdl.TypeOf((*VArray3_VString)(nil)),
		},
		SourceLabel: "VArray2_TypeObject{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Source: VArray2_TypeObject{
			vdl.TypeOf((*VFloat64)(nil)),
			vdl.TypeOf((*VArray3_VString)(nil)),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VArray2_TypeObject{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Target: VArray2_TypeObject{
			vdl.TypeOf((*VFloat64)(nil)),
			vdl.TypeOf((*VArray3_VString)(nil)),
		},
		SourceLabel: "[]any{typeobject(VFloat64), typeobject(VArray3_VString)}",
		Source: []interface{}{
			vdl.TypeOf((*VFloat64)(nil)),
			vdl.TypeOf((*VArray3_VString)(nil)),
		},
	},
	{
		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{
			vdl.TypeOf((*VSet_VNamedError)(nil)),
			vdl.TypeOf((*[]VByte)(nil)),
		},
		SourceLabel: "[]typeobject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Source: []*vdl.Type{
			vdl.TypeOf((*VSet_VNamedError)(nil)),
			vdl.TypeOf((*[]VByte)(nil)),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "[]typeobject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Target: []*vdl.Type{
			vdl.TypeOf((*VSet_VNamedError)(nil)),
			vdl.TypeOf((*[]VByte)(nil)),
		},
		SourceLabel: "VArray2_TypeObject{typeobject(VSet_VNamedError), typeobject([]VByte)}",
		Source: VArray2_TypeObject{
			vdl.TypeOf((*VSet_VNamedError)(nil)),
			vdl.TypeOf((*[]VByte)(nil)),
		},
	},
	{
		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{
						vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil)),
						vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem(),
					},
					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{
						vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil)),
						vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem(),
					},
					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{
						vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil)),
						vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem(),
					},
					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{
						vdl.TypeOf((*VUnionDepth2_VStructDepth1_Int8)(nil)),
						vdl.TypeOf((*VStructDepth1_OptVStructEmpty)(nil)).Elem(),
					},
					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{
			vdl.TypeOf((*VUnionDepth2_All)(nil)),
		},
		SourceLabel: "VList_TypeObject{typeobject(VUnionDepth2_All)}",
		Source: VList_TypeObject{
			vdl.TypeOf((*VUnionDepth2_All)(nil)),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VList_TypeObject{typeobject(VUnionDepth2_All)}",
		Target: VList_TypeObject{
			vdl.TypeOf((*VUnionDepth2_All)(nil)),
		},
		SourceLabel: "[]typeobject{typeobject(VUnionDepth2_All)}",
		Source: []*vdl.Type{
			vdl.TypeOf((*VUnionDepth2_All)(nil)),
		},
	},
	{
		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: vdl.TypeOf((*map[VStructDepth2_VStructDepth1_Bool]struct{})(nil)),
			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: vdl.TypeOf((*map[VStructDepth2_VStructDepth1_Bool]struct{})(nil)),
			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: "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: "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: vdl.TypeOf((*VMap_VBool_VBool)(nil)),
		},
		SourceLabel: "VStructDepth1_TypeObject{F5: typeobject(VMap_VBool_VBool)}",
		Source: VStructDepth1_TypeObject{
			F5: vdl.TypeOf((*VMap_VBool_VBool)(nil)),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth1_TypeObject{F5: typeobject(VMap_VBool_VBool)}",
		Target: VStructDepth1_TypeObject{
			F5: vdl.TypeOf((*VMap_VBool_VBool)(nil)),
		},
		SourceLabel: "VStructDepth1_All{F5: typeobject(VMap_VBool_VBool)}",
		Source: VStructDepth1_All{
			F5: vdl.TypeOf((*VMap_VBool_VBool)(nil)),
		},
	},
	{
		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{vdl.TypeOf((*VArray1_VList_Byte)(nil))}),
		SourceLabel: "VUnionDepth1_TypeObject{F5: typeobject(VArray1_VList_Byte)}",
		Source:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.TypeOf((*VArray1_VList_Byte)(nil))}),
	},
	{
		Label:       "Random0",
		TargetLabel: "VUnionDepth1_TypeObject{F5: typeobject(VArray1_VList_Byte)}",
		Target:      VUnionDepth1_TypeObject(VUnionDepth1_TypeObjectF5{vdl.TypeOf((*VArray1_VList_Byte)(nil))}),
		SourceLabel: "VUnionDepth1_All{F5: typeobject(VArray1_VList_Byte)}",
		Source:      VUnionDepth1_All(VUnionDepth1_AllF5{vdl.TypeOf((*VArray1_VList_Byte)(nil))}),
	},
	{
		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: vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem(),
				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: vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem(),
				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: vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem(),
				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: vdl.TypeOf((*VUnionDepth2_VUnionDepth1_VUint32)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Map_Byte_Byte)(nil)).Elem(),
				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:  vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem(),
				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:  vdl.TypeOf((*VUnionDepth1_Int64)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem(),
				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:  vdl.TypeOf((*VUnionDepth1_Int64)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem(),
				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:  vdl.TypeOf((*VUnionDepth1_Int64)(nil)),
				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:  vdl.TypeOf((*VStructDepth2_Set_Float64)(nil)).Elem(),
				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:  vdl.TypeOf((*VUnionDepth1_Int64)(nil)),
				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: vdl.TypeOf((*VInt8)(nil)),
				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: vdl.TypeOf((*VInt8)(nil)),
				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{}",
		Source: VStructDepth1_All{
			F5: vdl.AnyType,
		},
	},
	{
		Label:       "Zero",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.AnyType,
				vdl.AnyType,
			},
		},
		SourceLabel: "VStructDepth1_Any{}",
		Source:      VStructDepth1_Any{},
	},
	{
		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{
				vdl.TypeOf((*VList_Any)(nil)),
				vdl.TypeOf((*VSet_VByte)(nil)),
			},
		},
		SourceLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Source: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.TypeOf((*VList_Any)(nil)),
				vdl.TypeOf((*VSet_VByte)(nil)),
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "VStructDepth2_VArray2_TypeObject{F0: {typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Target: VStructDepth2_VArray2_TypeObject{
			F0: VArray2_TypeObject{
				vdl.TypeOf((*VList_Any)(nil)),
				vdl.TypeOf((*VSet_VByte)(nil)),
			},
		},
		SourceLabel: "VStructDepth1_Any{F0: VArray2_TypeObject{typeobject(VList_Any), typeobject(VSet_VByte)}}",
		Source: VStructDepth1_Any{
			F0: VArray2_TypeObject{
				vdl.TypeOf((*VList_Any)(nil)),
				vdl.TypeOf((*VSet_VByte)(nil)),
			},
		},
	},
	{
		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: vdl.TypeOf((*VFloat64)(nil)),
				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: vdl.TypeOf((*VFloat64)(nil)),
				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: vdl.TypeOf((*VFloat64)(nil)),
				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: vdl.TypeOf((*VFloat64)(nil)),
				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: vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil)),
			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: vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil)),
			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: vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil)),
			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: vdl.TypeOf((*VSet_VUnionDepth2_VArray1_String)(nil)),
			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{
					vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil)),
					vdl.TypeOf((*VArray3_Any)(nil)),
				},
				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{
					vdl.TypeOf((*VSet_VEnumAbc)(nil)),
					vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil)),
				},
				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: vdl.TypeOf((*VUnionDepth1_Any)(nil)),
							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{
					vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil)),
					vdl.TypeOf((*VArray3_Any)(nil)),
				},
				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{
					vdl.TypeOf((*VSet_VEnumAbc)(nil)),
					vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil)),
				},
				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: vdl.TypeOf((*VUnionDepth1_Any)(nil)),
							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{
					vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil)),
					vdl.TypeOf((*VArray3_Any)(nil)),
				},
				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{
					vdl.TypeOf((*VSet_VEnumAbc)(nil)),
					vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil)),
				},
				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: vdl.TypeOf((*VUnionDepth1_Any)(nil)),
							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{
					vdl.TypeOf((*VList_VSet_VArray1_VStructEmpty)(nil)),
					vdl.TypeOf((*VArray3_Any)(nil)),
				},
				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{
					vdl.TypeOf((*VSet_VEnumAbc)(nil)),
					vdl.TypeOf((*VMap_VStructDepth1_VBool_VStructDepth1_VBool)(nil)),
				},
				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: vdl.TypeOf((*VUnionDepth1_Any)(nil)),
							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: vdl.TypeOf((*VSet_VEnumAbc)(nil)),
				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: vdl.TypeOf((*VSet_VEnumAbc)(nil)),
				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: vdl.TypeOf((*VSet_VEnumAbc)(nil)),
				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: vdl.TypeOf((*VSet_VEnumAbc)(nil)),
				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,
					vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem(),
				},
				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: vdl.TypeOf((*VMap_Byte_Byte)(nil)),
					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,
					vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem(),
				},
				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: vdl.TypeOf((*VMap_Byte_Byte)(nil)),
					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,
					vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem(),
				},
				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: vdl.TypeOf((*VMap_Byte_Byte)(nil)),
					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,
					vdl.TypeOf((*VStructDepth1_Int16)(nil)).Elem(),
				},
				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: vdl.TypeOf((*VMap_Byte_Byte)(nil)),
					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{
					vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem(),
					vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem(),
				},
				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{
					vdl.TypeOf((*[]uint32)(nil)),
					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:  vdl.TypeOf((*[]*VStructDepth1_VEnumBcd)(nil)),
					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{
					vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem(),
					vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem(),
				},
				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{
					vdl.TypeOf((*[]uint32)(nil)),
					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:  vdl.TypeOf((*[]*VStructDepth1_VEnumBcd)(nil)),
					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{
					vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem(),
					vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem(),
				},
				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{
					vdl.TypeOf((*[]uint32)(nil)),
					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:  vdl.TypeOf((*[]*VStructDepth1_VEnumBcd)(nil)),
					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{
					vdl.TypeOf((*VStructDepth1_Any)(nil)).Elem(),
					vdl.TypeOf((*VStructDepth2_VSet_VEnumBcd)(nil)).Elem(),
				},
				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{
					vdl.TypeOf((*[]uint32)(nil)),
					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:  vdl.TypeOf((*[]*VStructDepth1_VEnumBcd)(nil)),
					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,
					vdl.TypeOf((*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)(nil)),
				},
				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,
					vdl.TypeOf((*VMap_VUnionDepth2_VArray2_VByte_VUnionDepth2_VArray2_VByte)(nil)),
				},
				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{}",
		Source:      VStructDepth1_Any{},
	},
	{
		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{
				vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil)),
				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: vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil)),
				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{
				vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil)),
				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: vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil)),
				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{
				vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil)),
				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: vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil)),
				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{
				vdl.TypeOf((*VUnionDepth2_VList_VByte)(nil)),
				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: vdl.TypeOf((*VUnionDepth2_OptVStructDepth1_VFloat32)(nil)),
				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{
			vdl.TypeOf((*XStructDepth1_Uint32)(nil)).Elem(),
			vdl.TypeOf((*XFloat32)(nil)),
		},
		SourceLabel: "XArray2_TypeObject{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Source: XArray2_TypeObject{
			vdl.TypeOf((*XStructDepth1_Uint32)(nil)).Elem(),
			vdl.TypeOf((*XFloat32)(nil)),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XArray2_TypeObject{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Target: XArray2_TypeObject{
			vdl.TypeOf((*XStructDepth1_Uint32)(nil)).Elem(),
			vdl.TypeOf((*XFloat32)(nil)),
		},
		SourceLabel: "[]any{typeobject(XStructDepth1_Uint32), typeobject(XFloat32)}",
		Source: []interface{}{
			vdl.TypeOf((*XStructDepth1_Uint32)(nil)).Elem(),
			vdl.TypeOf((*XFloat32)(nil)),
		},
	},
	{
		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{
						vdl.TypeOf((*XList_XBool)(nil)),
						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:  vdl.TypeOf((*XList_XStructDepth2_All)(nil)),
						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,
						vdl.TypeOf((*XArray3_OptXStructDepth2_Set_Float64)(nil)),
					},
					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{
						vdl.TypeOf((*XList_XBool)(nil)),
						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:  vdl.TypeOf((*XList_XStructDepth2_All)(nil)),
						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,
						vdl.TypeOf((*XArray3_OptXStructDepth2_Set_Float64)(nil)),
					},
					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{
						vdl.TypeOf((*XList_XBool)(nil)),
						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:  vdl.TypeOf((*XList_XStructDepth2_All)(nil)),
						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,
						vdl.TypeOf((*XArray3_OptXStructDepth2_Set_Float64)(nil)),
					},
					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{
						vdl.TypeOf((*XList_XBool)(nil)),
						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:  vdl.TypeOf((*XList_XStructDepth2_All)(nil)),
						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,
						vdl.TypeOf((*XArray3_OptXStructDepth2_Set_Float64)(nil)),
					},
					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{
			vdl.TypeOf((*XUnionDepth1_Int16)(nil)),
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XList_TypeObject{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Source: XList_TypeObject{
			vdl.TypeOf((*XUnionDepth1_Int16)(nil)),
			vdl.AnyType,
			vdl.AnyType,
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XList_TypeObject{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Target: XList_TypeObject{
			vdl.TypeOf((*XUnionDepth1_Int16)(nil)),
			vdl.AnyType,
			vdl.AnyType,
		},
		SourceLabel: "XArray3_Any{typeobject(XUnionDepth1_Int16), typeobject(any), typeobject(any)}",
		Source: XArray3_Any{
			vdl.TypeOf((*XUnionDepth1_Int16)(nil)),
			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: "?XStructDepth3_XArray1_Set_XEnumBcd{}",
		Source:      &XStructDepth3_XArray1_Set_XEnumBcd{},
	},
	{
		Label:       "Zero",
		TargetLabel: "XStructDepth1_Any{}",
		Target:      XStructDepth1_Any{},
		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: "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: vdl.TypeOf((*XStructDepth1_XInt16)(nil)).Elem(),
		},
		SourceLabel: "XStructDepth1_TypeObject{F5: typeobject(XStructDepth1_XInt16)}",
		Source: XStructDepth1_TypeObject{
			F5: vdl.TypeOf((*XStructDepth1_XInt16)(nil)).Elem(),
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth1_TypeObject{F5: typeobject(XStructDepth1_XInt16)}",
		Target: XStructDepth1_TypeObject{
			F5: vdl.TypeOf((*XStructDepth1_XInt16)(nil)).Elem(),
		},
		SourceLabel: "XStructDepth1_All{F5: typeobject(XStructDepth1_XInt16)}",
		Source: XStructDepth1_All{
			F5: vdl.TypeOf((*XStructDepth1_XInt16)(nil)).Elem(),
		},
	},
	{
		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{vdl.TypeOf((*XUnionDepth1_Bool)(nil))}),
		SourceLabel: "XUnionDepth1_TypeObject{F5: typeobject(XUnionDepth1_Bool)}",
		Source:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.TypeOf((*XUnionDepth1_Bool)(nil))}),
	},
	{
		Label:       "Random0",
		TargetLabel: "XUnionDepth1_TypeObject{F5: typeobject(XUnionDepth1_Bool)}",
		Target:      XUnionDepth1_TypeObject(XUnionDepth1_TypeObjectF5{vdl.TypeOf((*XUnionDepth1_Bool)(nil))}),
		SourceLabel: "XUnionDepth1_All{F5: typeobject(XUnionDepth1_Bool)}",
		Source:      XUnionDepth1_All(XUnionDepth1_AllF5{vdl.TypeOf((*XUnionDepth1_Bool)(nil))}),
	},
	{
		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: vdl.TypeOf((*XUint16)(nil)),
				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: vdl.TypeOf((*XList_XMap_Byte_Byte)(nil)),
				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: vdl.TypeOf((*XUint16)(nil)),
				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: vdl.TypeOf((*XList_XMap_Byte_Byte)(nil)),
				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: vdl.TypeOf((*XUint16)(nil)),
				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: vdl.TypeOf((*XList_XMap_Byte_Byte)(nil)),
				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: vdl.TypeOf((*XUint16)(nil)),
				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: vdl.TypeOf((*XList_XMap_Byte_Byte)(nil)),
				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: vdl.TypeOf((*XSet_XStructEmpty)(nil)),
				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: vdl.TypeOf((*XSet_XStructEmpty)(nil)),
				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: vdl.TypeOf((*XSet_XStructEmpty)(nil)),
				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: vdl.TypeOf((*XSet_XStructEmpty)(nil)),
				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,
				vdl.TypeOf((*map[string]struct{})(nil)),
			},
			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,
				vdl.TypeOf((*map[string]struct{})(nil)),
			},
			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{
				vdl.TypeOf((*XList_XUint16)(nil)),
				vdl.TypeOf((*XList_Byte)(nil)),
			},
		},
		SourceLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Source: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.TypeOf((*XList_XUint16)(nil)),
				vdl.TypeOf((*XList_Byte)(nil)),
			},
		},
	},
	{
		Label:       "Random0",
		TargetLabel: "XStructDepth2_XArray2_TypeObject{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Target: XStructDepth2_XArray2_TypeObject{
			F0: XArray2_TypeObject{
				vdl.TypeOf((*XList_XUint16)(nil)),
				vdl.TypeOf((*XList_Byte)(nil)),
			},
		},
		SourceLabel: "XStructDepth2_All{F0: {typeobject(XList_XUint16), typeobject(XList_Byte)}}",
		Source: XStructDepth2_All{
			F0: XArray2_TypeObject{
				vdl.TypeOf((*XList_XUint16)(nil)),
				vdl.TypeOf((*XList_Byte)(nil)),
			},
			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,
					vdl.TypeOf((*XArray2_XEnumBcd)(nil)),
				},
				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,
					vdl.TypeOf((*XArray2_XEnumBcd)(nil)),
				},
				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,
					vdl.TypeOf((*XArray2_XEnumBcd)(nil)),
				},
				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,
					vdl.TypeOf((*XArray2_XEnumBcd)(nil)),
				},
				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{
					vdl.TypeOf((*XUnionDepth2_XStructDepth1_Int8)(nil)),
					vdl.TypeOf((*XStructEmpty)(nil)).Elem(),
				},
				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,
					vdl.TypeOf((*XUnionDepth1_Uint32)(nil)),
				},
				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{
					vdl.TypeOf((*XUnionDepth2_XStructDepth1_Int8)(nil)),
					vdl.TypeOf((*XStructEmpty)(nil)).Elem(),
				},
				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,
					vdl.TypeOf((*XUnionDepth1_Uint32)(nil)),
				},
				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{
					vdl.TypeOf((*XUnionDepth2_XStructDepth1_Int8)(nil)),
					vdl.TypeOf((*XStructEmpty)(nil)).Elem(),
				},
				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,
					vdl.TypeOf((*XUnionDepth1_Uint32)(nil)),
				},
				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{
					vdl.TypeOf((*XUnionDepth2_XStructDepth1_Int8)(nil)),
					vdl.TypeOf((*XStructEmpty)(nil)).Elem(),
				},
				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,
					vdl.TypeOf((*XUnionDepth1_Uint32)(nil)),
				},
				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{
					vdl.TypeOf((*XList_Any)(nil)),
					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: vdl.TypeOf((*XStructDepth1_XInt32)(nil)).Elem(),
					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{
					vdl.TypeOf((*XList_Any)(nil)),
					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: vdl.TypeOf((*XStructDepth1_XInt32)(nil)).Elem(),
					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{
					vdl.TypeOf((*XList_Any)(nil)),
					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: vdl.TypeOf((*XStructDepth1_XInt32)(nil)).Elem(),
					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{
					vdl.TypeOf((*XList_Any)(nil)),
					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: vdl.TypeOf((*XStructDepth1_XInt32)(nil)).Elem(),
					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{
					vdl.TypeOf((*XMap_XStructEmpty_XStructEmpty)(nil)),
					vdl.TypeOf((*XMap_String_String)(nil)),
				},
				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{
					vdl.TypeOf((*XMap_XStructEmpty_XStructEmpty)(nil)),
					vdl.TypeOf((*XMap_String_String)(nil)),
				},
				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: vdl.TypeOf((*[]XEnumAbc)(nil)),
					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: vdl.TypeOf((*[]XEnumAbc)(nil)),
					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: vdl.TypeOf((*[]XEnumAbc)(nil)),
					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: vdl.TypeOf((*[]XEnumAbc)(nil)),
					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,
				vdl.TypeOf((*XArray1_XStructEmpty)(nil)),
			},
			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:  vdl.TypeOf((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil)),
				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,
				vdl.TypeOf((*XArray1_XStructEmpty)(nil)),
			},
			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:  vdl.TypeOf((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil)),
				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,
				vdl.TypeOf((*XArray1_XStructEmpty)(nil)),
			},
			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:  vdl.TypeOf((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil)),
				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,
				vdl.TypeOf((*XArray1_XStructEmpty)(nil)),
			},
			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:  vdl.TypeOf((*XUnionDepth2_OptXStructDepth1_XFloat32)(nil)),
				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{},
		},
	},
}

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))

	return struct{}{}
}
