anchor.diff:  
   -spec add_attributes([{cerl:cerl(), cerl:cerl()}], clj_module() | module()) ->
     clj_module().
  +add_attributes(_, ?NIL) -> error(badarg);
   add_attributes(Attrs, ModuleName) when is_atom(ModuleName)  ->
     add_attributes(Attrs, clj_utils:ets_get(?MODULE, ModuleName));
   add_attributes([], Module) ->
  
positive.code: 
  -spec add_on_load(cerl:cerl(), module() | clj_module()) ->
    clj_module().
  add_on_load(Expr, ModuleName) when is_atom(ModuleName) ->
    case clj_utils:ets_get(?MODULE, ModuleName) of
      undefined -> error({not_found, ModuleName});
  
negative.code: 
  -spec remove_all_functions(module() | clj_module()) ->
    clj_module().
  remove_all_functions(?NIL) -> error(badarg);
  remove_all_functions(ModuleName) when is_atom(ModuleName)  ->
    remove_all_functions(clj_utils:ets_get(?MODULE, ModuleName));
  remove_all_functions(Module) ->
  