code: func (e *merryErr) Error() string {
  	if verbose {
  		return Details(e)
  	}
  	m := Message(e)
  	if m == "" {
  		m = UserMessage(e)
  	}
  	// add cause
  	if c := Cause(e); c != nil {
  		if ce := c.Error(); ce != "" {
  			m += ": " + ce
  		}
  	}
  	return m
  }
docs: // Error implements golang's error interface
  // returns the message value if set, otherwise
  // delegates to inner error