anchor.diff:  
   pass_eval_set_1(Pat, Guard, Exp, Env0, St) ->
       Val = lfe_eval:expr(Exp, Env0),
  -    {ok,_,Bs} = lfe_eval:match_when(Pat, Val, Guard, Env0),
  +    {yes,_,Bs} = lfe_eval:match_when(Pat, Val, Guard, Env0),
       Env1 = foldl(fun ({N,V}, E) -> add_vbinding(N, V, E) end, Env0, Bs),
  -    {Env1,St}.
  +    Sets = [ [set,N,V] || {N,V} <- Bs ],
  +    {['progn'|Sets],Env1,St}.
   
   %% pass_expand_expr(Expr, Env, State, ExpandFlag) ->
   %%     {yes,Exp,State} | {no,State}.
  
positive.code:     KVs = foldr(fun ({K,V}, Acc) -> [K,V|Acc] end, [], Ps),
      exp_backquote(KVs, N).
  -else.
  exp_bq_map_pairs(_, _) -> map.
  -endif.
  
  new_symb(St) ->
  
negative.code:     {Pfs1,Env1,St1} = pass_forms(Pfs0, Env0, St0),
      {['progn'|Pfs1],Env1,St1};
  pass_form(['eval-when-compile'|Ewcs0], Env0, St0) ->
      {Ewcs1,Env1,St1} = pass_ewc(Ewcs0, Env0, St0),
      {['eval-when-compile'|Ewcs1],Env1,St1};
  pass_form(['define-macro'|Def]=M, Env0, St0) ->
      case pass_define_macro(Def, Env0, St0) of
          {yes,Env1,St1} ->
              {['eval-when-compile',M],Env1,St1};
          no ->
              St1 = add_error({bad_form,macro}, St0),
              {['progn'],Env0,St1}                %Must return a valid form
  