anchor.diff:  %% get_vars(Env) -> Vars.
   %% clr_vars(Env) -> Env.
   %% set_vars(Vars, Env) -> Env.
  +%% fold_vars(Fun, Acc, Env) -> Acc.
   %% get_funs(Env) -> Funs.
   %% clr_funs(Env) -> Env.
   %% set_funs(Funs, Env) -> Env.
  +%% fold_funs(Fun, Acc, Env) -> Acc.
  +%% fold_macros(Fun, Acc, Env) -> Acc.
   %% add_vbinding(Name, Val, Env) -> Env.
   %% add_vbindings([{Name,Val}], Env) -> Env.
   %% is_vbound(Symb, Env) -> bool().
  
positive.code:     end.
  
  is_gbound(N, A, #env{funs=Fs}) ->
      case orddict:find(N, Fs) of
          {ok,{function,Fas}} ->
              case lists:keyfind(A, 1, Fas) of
                  false -> is_guard_bif(N, A);
  
negative.code:                   {function,lists:keystore(A, 1, Fas, T)};
                (_) -> Def                        %Overwrite macros
            end,
      ?UPDATE(N, Upd, Def, Fs).
  
  add_fbindings(Fbs, #env{funs=Fs0}=Env) ->
      Fs1 = foldl(fun ({N,A,V}, Fs) -> add_fbinding_1(N, A, {A,V}, Fs) end,
  