code: func (m *Memberlist) encodeAndSendMsg(addr string, msgType messageType, msg interface{}) error {
  	out, err := encode(msgType, msg)
  	if err != nil {
  		return err
  	}
  	if err := m.sendMsg(addr, out.Bytes()); err != nil {
  		return err
  	}
  	return nil
  }
docs: // encodeAndSendMsg is used to combine the encoding and sending steps