code: func MarshalJSON(x interface{}) ([]byte, error) {
  	m, err := marshalMap(x)
  	if err != nil {
  		return nil, err
  	}
  	return json.Marshal(m)
  }
docs: // MarshalJSON marshals x into json
  // It differs a bit from encoding/json MarshalJSON function for formatter