binary-decode.go
func consumeAny(typ3 Typ3, bz []byte) (n int, err error) {
	var _n int
	switch typ3 {
	case Typ3_Varint:
		_, _n, err = DecodeVarint(bz)
	case Typ3_8Byte:
		_, _n, err = DecodeInt64(bz)
	case Typ3_ByteLength:
		_, _n, err = DecodeByteSlice(bz)
	case Typ3_4Byte:
		_, _n, err = DecodeInt32(bz)
	default:
		err = fmt.Errorf("invalid typ3 bytes %v", typ3)
		return
	}
	if err != nil {
		// do not slide
		return
	}
	slide(&bz, &n, _n)
	return
}
func consumeAny(typ3 Typ3, bz []byte) (n int, err error) {
	var _n int
	switch typ3 {
	case Typ3_Varint:
		_, _n, err = DecodeVarint(bz)
	case Typ3_8Byte:
		_, _n, err = DecodeInt64(bz)
	case Typ3_ByteLength:
		_, _n, err = DecodeByteSlice(bz)
	case Typ3_4Byte:
		_, _n, err = DecodeInt32(bz)
	default:
		err = fmt.Errorf("invalid typ3 bytes %v", typ3)
		return
	}
	if err != nil {
		// do not slide
		return
	}
	slide(&bz, &n, _n)
	return
}
//----------------------------------------
// consume* for skipping struct fields
// Read everything without doing anything with it. Report errors if they occur.