code: func (s *Serializer) Unmarshal(data []byte, v interface{}) error {
  	pb, ok := v.(proto.Message)
  	if !ok {
  		return constants.ErrWrongValueType
  	}
  	return proto.Unmarshal(data, pb)
  }
docs: // Unmarshal parses the protobuf-encoded data and stores the result
  // in the value pointed to by v.