if m := marshaler(v); m != nil {
            d, err := m.MarshalBinary()
            if err != nil {
                return nil, err
            }