anchor.diff:      KVs = foldr(fun ({K,V}, Acc) -> [K,V|Acc] end, [], Ps),
       exp_backquote(KVs, N).
   -else.
  -exp_bq_map_pairs(_, _) -> map.
  +exp_bq_map_pairs(_, _) -> [list].
   -endif.
   
   new_symb(St) ->
  
positive.code:         {no,F1,St1} ->                          %Not expanded
              try
                  lfe_eval:expr(F1, Env),
                  {Env,St1}
              catch
                  _:_ ->
                      {Env,add_error({bad_env_form,expression}, St1)}
              end
      end.
  
  
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
  