code: func (e *Error) UnmarshalJSON(data []byte) error {
  	err := &struct {
  		Class ErrClass `json:"class"`
  		Code  ErrCode  `json:"code"`
  		Msg   string   `json:"message"`
  	}{}
  
  	if err := json.Unmarshal(data, &err); err != nil {
  		return errors.Trace(err)
  	}
  
  	e.class = err.Class
  	e.code = err.Code
  	e.message = err.Msg
  	return nil
  }
docs: // UnmarshalJSON implements json.Unmarshaler interface.