code: func (m Msg) SenderID() *ID {
  	switch m.Y {
  	case "q":
  		if m.A == nil {
  			return nil
  		}
  		return &m.A.ID
  	case "r":
  		if m.R == nil {
  			return nil
  		}
  		return &m.R.ID
  	}
  	return nil
  }
docs: // The node ID of the source of this Msg. Returns nil if it isn't present.
  // TODO: Can we verify Msgs more aggressively so this is guaranteed to return
  // a valid ID for a checked Msg?