anchor.diff:  extend_letrec_env(Lete0, Fbs0, Env0) ->
       {Lete0,Env0}.
   
  -%% add_expr_func(Name, Arity, Def, Env) -> Env.
  +%% add_lexical_func(Name, Arity, Def, Env) -> Env.
  +%% add_dynamic_func(Name, Arity, Def, Env) -> Env.
   %%  Add a function definition in the correct format to the
   %%  environment.
   
  -add_expr_func(Name, Ar, Def, Env) ->
  +add_lexical_func(Name, Ar, Def, Env) ->
       add_fbinding(Name, Ar, {lexical_expr,Def,Env}, Env).
  +
  +add_dynamic_func(Name, Ar, Def, Env) ->
  +    add_fbinding(Name, Ar, {dynamic_expr,Def}, Env).
   
   %% eval_apply(Function, Args, Env) -> Value.
   %%  This is used to evaluate interpreted functions. Macros are
   %%  expanded completely in the function definition before it is
   %%  applied.
   
  -eval_apply({dynamic_expr,Func}, Es, Env) ->
  -    eval_apply_expr(Func, Es, Env);
  +eval_apply({dynamic_expr,Func}, Es, Env0) ->
  +    Env1 = lfe_env:clr_vars(Env0),              %Clear all variable bindings
  +    eval_apply_expr(Func, Es, Env1);
   eval_apply({lexical_expr,Func,Env}, Es, _) ->
       eval_apply_expr(Func, Es, Env);
   eval_apply({letrec,Body,Fbs,Env}, Es, _) ->
       %% A function created by/for letrec-function.
       NewEnv = foldl(fun ({V,Ar,Lambda}, E) ->
  -               add_fbinding(V, Ar, {letrec,Lambda,Fbs,Env}, E)
  -           end, Env, Fbs),
  +                           add_fbinding(V, Ar, {letrec,Lambda,Fbs,Env}, E)
  +                   end, Env, Fbs),
       %% io:fwrite("la: ~p\n", [{Body,NewEnv}]),
       eval_apply_expr(Body, Es, NewEnv).
   
  
positive.code: 
  eval_case_clauses(V, Cls, Env) ->
      case match_clause(V, Cls, Env) of
      {yes,B,Vbs} -> eval_body(B, add_vbindings(Vbs, Env));
      no -> erlang:error({case_clause,V})
      end.
  
  match_clause(V, [[Pat|B0]|Cls], Env) ->
  
negative.code: -module(lfe_eval).
  
  -export([expr/1,expr/2,gexpr/1,gexpr/2,apply/2,apply/3,
           body/1,body/2,guard/1,guard/2,match/3,match_when/4,
           make_letrec_env/2,add_lexical_func/4,add_dynamic_func/4]).
  
  %% Deprecated exports.
  -export([eval/1,eval/2,eval_list/2]).
  