anchor.diff:    true = ets:delete_all_objects(Module#module.exports),
     Module.
   
  +%% @doc Returns all functions in the module.
   -spec get_functions(module() | clj_module()) ->
     [{function_id(), {cerl:c_fname(), cerl:c_fun()}}].
   get_functions(?NIL) -> error(badarg);
  
positive.code:   lists:foreach(SaveFun, Funs),
    Module.
  
  -spec remove_all_functions(module() | clj_module()) ->
    clj_module().
  remove_all_functions(?NIL) -> error(badarg);
  
negative.code:       Value
    end.
  
  %% @doc Checks if the `Name' module is a Clojerl protocol.
  -spec is_protocol(module() | cerl:c_module()) -> boolean().
  is_protocol(Name) when is_atom(Name) ->
    Key = {?MODULE, is_protocol, Name},
  