type Marshaler … type Unmarshaler … func MustMarshal(m Marshaler) []byte { … } func MustUnmarshal(um Unmarshaler, data []byte) { … } func MaybeUnmarshal(um Unmarshaler, data []byte) bool { … } func GetBool(v *bool) (vv bool, set bool) { … } func Boolp(b bool) *bool { … }