code: func (msg *Error) JSON() interface{} {
  	json := H{}
  	if msg.Meta != nil {
  		value := reflect.ValueOf(msg.Meta)
  		switch value.Kind() {
  		case reflect.Struct:
  			return msg.Meta
  		case reflect.Map:
  			for _, key := range value.MapKeys() {
  				json[key.String()] = value.MapIndex(key).Interface()
  			}
  		default:
  			json["meta"] = msg.Meta
  		}
  	}
  	if _, ok := json["error"]; !ok {
  		json["error"] = msg.Error()
  	}
  	return json
  }
docs: // JSON creates a properly formatted JSON