code: func (s *Serializer) Marshal(v interface{}) ([]byte, error) {
  	pb, ok := v.(proto.Message)
  	if !ok {
  		return nil, constants.ErrWrongValueType
  	}
  	return proto.Marshal(pb)
  }
docs: // Marshal returns the protobuf encoding of v.