code: func (r *Response) UnmarshalJSON(data []byte) error {
  	type tmpType Response
  
  	// Detect if the "result" field is JSON "null" or just not present
  	// by seeing if the field gets overwritten to nil.
  	*r = Response{Result: &json.RawMessage{}}
  
  	if err := json.Unmarshal(data, (*tmpType)(r)); err != nil {
  		return err
  	}
  	if r.Result == nil { // JSON "null"
  		r.Result = &jsonNull
  	} else if len(*r.Result) == 0 {
  		r.Result = nil
  	}
  	return nil
  }
docs: // UnmarshalJSON implements json.Unmarshaler.