code: func (c *Client) removeRequest(id uint64) *jsonRequest {
  	c.requestLock.Lock()
  	defer c.requestLock.Unlock()
  
  	element := c.requestMap[id]
  	if element != nil {
  		delete(c.requestMap, id)
  		request := c.requestList.Remove(element).(*jsonRequest)
  		return request
  	}
  
  	return nil
  }
docs: // removeRequest returns and removes the jsonRequest which contains the response
  // channel and original method associated with the passed id or nil if there is
  // no association.
  //
  // This function is safe for concurrent access.