anchor.diff:      %%lfe_io:format("udef: ~p\n", [[Mac|Args]]),
       %%lfe_io:format("macro: ~p\n", [Def0]),
       try
  -	{Def1,St1} = expand(Def0, Env, St0),	%Expand definition
  +	{Def1,St1} = exp_form(Def0, Env, St0),	%Expand definition
   	Exp = lfe_eval:apply(Def1, [Args,Env], Env),
   	{yes,Exp,St1}
       catch
  
positive.code: 	case exp_macro(E0, Env, St0) of
  	    {yes,_,_}=Yes -> Yes;
  	    no when Expand ->			%Expand all if flag set.
  		{E1,St1} = expand(E0, Env, St0),
  		{no,E1,St1};
  	    no -> {no,E0,St0}
  	end
  
negative.code:     mapfoldl(fun (Q, S) -> exp_qlc_qual(Q, Env, S) end, St, Qs).
  
  exp_qlc_qual(['<-',P0,['when'|G0],E0], Env, St0) ->
      {P1,St1} = exp_form(P0, Env, St0),
      {G1,St2} = exp_tail(G0, Env, St1),
      {E1,St3} = exp_form(E0, Env, St2),
      {['<-',P1,['when'|G1],E1],St3};
  exp_qlc_qual(['<-',P0,E0], Env, St0) ->
      {P1,St1} = exp_form(P0, Env, St0),
      {E1,St2} = exp_form(E0, Env, St1),
      {['<-',P1,E1],St2};
  exp_qlc_qual(T, Env, St) -> exp_form(T, Env, St).
  
  %% exp_bif(Bif, Args) -> Expansion.
  
  