code: func (c *Connector) Remove(ctx context.Context, ei *dosa.EntityInfo, keys map[string]dosa.FieldValue) error {
  	// convert the key values from interface{} to RPC's Value
  	rpcFields, err := keyValuesToRPCValues(keys)
  	if err != nil {
  		return err
  	}
  
  	// perform the remove request
  	removeRequest := &dosarpc.RemoveRequest{
  		Ref:       entityInfoToSchemaRef(ei),
  		KeyValues: rpcFields,
  	}
  
  	err = c.client.Remove(ctx, removeRequest, getHeaders(c.headers)...)
  	if err != nil {
  		if !dosarpc.Dosa_Remove_Helper.IsException(err) {
  			return errors.Wrap(err, "failed to Remove due to network issue")
  		}
  
  		return errors.Wrap(err, "failed to Remove")
  	}
  	return nil
  }
docs: // Remove marshals a request to the YARPC remove call