code: func (r Request) MarshalJSON() ([]byte, error) {
  	r2 := struct {
  		Method  string           `json:"method"`
  		Params  *json.RawMessage `json:"params,omitempty"`
  		ID      *ID              `json:"id,omitempty"`
  		Meta    *json.RawMessage `json:"meta,omitempty"`
  		JSONRPC string           `json:"jsonrpc"`
  	}{
  		Method:  r.Method,
  		Params:  r.Params,
  		Meta:    r.Meta,
  		JSONRPC: "2.0",
  	}
  	if !r.Notif {
  		r2.ID = &r.ID
  	}
  	return json.Marshal(r2)
  }
docs: // MarshalJSON implements json.Marshaler and adds the "jsonrpc":"2.0"
  // property.