code: func (c *Client) CompareAndSwap(item *Item) error {
  	return c.populateOne(cmdSet, item, item.casid)
  }
docs: // CompareAndSwap writes the given item that was previously returned
  // by Get, if the value was neither modified or evicted between the
  // Get and the CompareAndSwap calls. The item's Key should not change
  // between calls but all other item fields may differ. ErrCASConflict
  // is returned if the value was modified in between the
  // calls. ErrNotStored is returned if the value was evicted in between
  // the calls.