anchor.diff:  
   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})
  +        {yes,B,Vbs} -> eval_body(B, add_vbindings(Vbs, Env));
  +        no -> erlang:error({case_clause,V})
       end.
   
   match_clause(V, [[Pat|B0]|Cls], Env) ->
  
positive.code: 
  eval_apply_expr(Func, Es, Env) ->
      case lfe_macro:expand_expr_all(Func, Env) of
      [lambda,Args|Body] -> apply_lambda(Args, Body, Es, Env);
      ['match-lambda'|Cls] -> apply_match_clauses(Cls, Es, Env);
      Fun when erlang:is_function(Fun) -> erlang:apply(Fun, Es)
      end.
  
  %% eval_if(IfBody, Env) -> Value.
  
  eval_if([Test,True], Env) ->            %Add default false value
      eval_if(Test, True, [quote,false], Env);
  eval_if([Test,True,False], Env) ->
      eval_if(Test, True, False, Env).
  
  eval_if(Test, True, False, Env) ->
      case eval_expr(Test, Env) of
      true -> eval_expr(True, Env);
      false -> eval_expr(False, Env);
      _ -> erlang:error(if_clause)        %Explicit error here
      end.
  
  %% eval_case(CaseBody, Env) -> Value.
  
negative.code: extend_letrec_env(Lete0, Fbs0, Env0) ->
      {Lete0,Env0}.
  
  %% 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_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, 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),
      %% io:fwrite("la: ~p\n", [{Body,NewEnv}]),
      eval_apply_expr(Body, Es, NewEnv).
  
  