code: func (r *ServiceConfigResponse) MarshalBinary() (data []byte, err error) {
  	// bs will grow if needed but allocate enough to avoid reallocation in common
  	// case.
  	bs := make([]byte, 128)
  	enc := codec.NewEncoderBytes(&bs, msgpackHandle)
  
  	type Alias ServiceConfigResponse
  
  	if err := enc.Encode((*Alias)(r)); err != nil {
  		return nil, err
  	}
  
  	return bs, nil
  }
docs: // MarshalBinary writes ServiceConfigResponse as msgpack encoded. It's only here
  // because we need custom decoding of the raw interface{} values.