code: func (c *client) Remove(ctx context.Context, entity DomainObject) error {
  	if !c.initialized {
  		return &ErrNotInitialized{}
  	}
  
  	// lookup registered entity, the registrar will return error if it is not found
  	re, err := c.registrar.Find(entity)
  	if err != nil {
  		return err
  	}
  
  	// translate entity field values to a map of primary key name/values pairs
  	keyFieldValues := re.KeyFieldValues(entity)
  
  	err = c.connector.Remove(ctx, re.EntityInfo(), keyFieldValues)
  	return err
  }
docs: // Remove deletes an entity by primary key, The entity provided must contain
  // values for all components of its primary key for the operation to succeed.