anchor.diff:  -callback '#new-'(atom()) ->
       db_rec().
   
  --callback '#fromlist-'(atom(), db_rec()) ->
  +-callback '#fromlist-'([{atom(), _}], db_rec()) ->
       db_rec().
   
   -callback '#info-'(atom()) ->
  
positive.code:      , {fetch_page,    gen_fetch_page(RecName, name)}
       , {update,        gen_update(RecName, id)}
      ].
      
  join_atoms(Atoms) ->
      Bins = [ erlang:atom_to_binary(A, utf8) || A <- Atoms ],
      erlang:binary_to_atom(iolist_to_binary(Bins), utf8).
  
negative.code:     Table = table_name(RecName),
      ["SELECT ", FieldsSQL, " FROM ", Table,
       " ORDER BY ", OrderByStr].
  
  gen_fetch_by(RecName, By) ->
      AllFields = map_to_str(all_fields(RecName)),
      FieldsSQL = string:join(AllFields, ", "),
  