anchor.diff:  qu(Q, ParamList) ->
       Db = db(),
       db_q(update, Db, Q, ParamList).
  -
  -%% Query the database and return the relevant information
  -%% If a select query, it returns all the rows
  -%% If an update or Insert query, it returns the number of rows affected
  -q(Q) ->
  -    Db = db(),
  -    db_q(list,Db,Q).
  -
  -q(Q,ParamList) ->
  -    Db = db(),
  -    db_q(list,Db,Q,ParamList).
   
   
   %% fr = First Record
  
positive.code: -type insert_id()   :: term().
  -type update_id()   :: term().
  -type proplist()    :: {atom() | value()}.
  
  -spec get_env(Var :: atom(), Def :: term()) -> term().
  get_env(Var, Def) ->
  
negative.code:     SQL = ["insert into ",Table," set ",Set],
      qi(SQL).
  
  -spec plu(Table :: table(), PropList :: proplist()) -> update_id().
  %% @doc Updates a row from the proplist based on the key `Table ++ "id"` in the Table
  plu(Table,PropList) when is_atom(Table) ->
      plu(atom_to_list(Table),PropList);
  plu(Table,PropList) ->
      KeyField = list_to_atom(Table ++ "id"),
      plu(Table,KeyField,PropList).
  
  -spec plu(Table :: table(), KeyField :: field(), PropList :: proplist()) -> update_id().
  %% @doc Update a row from proplist based on the Keyfield `Keyfield` on provided Table
  plu(Table,KeyField,InitPropList) when is_atom(Table) ->
      plu(atom_to_list(Table),KeyField,InitPropList);
  plu(Table,KeyField,InitPropList) ->
  