anchor.diff:              {Exp,St1} = exp_arith(Es, '/', St0),
               {yes,Exp,St1}
       end;
  +%% Logical operators.
  +exp_predef([Op|Es], _, St0)
  +  when Op =:= 'and'; Op =:= 'or'; Op =:= 'xor' ->
  +    {Exp,St1} = exp_logical(Es, Op, St0),
  +    {yes,Exp,St1};
   %% Comparison operators.
   exp_predef(['!='|Es], Env, St) -> exp_predef(['/='|Es], Env, St);
   exp_predef(['==='|Es], Env, St) -> exp_predef(['=:='|Es], Env, St);
  
positive.code: 
  defspec_arity([[Args|_]|_]) ->
      case lfe_lib:is_proper_list(Args) of
  	true -> length(Args);
  	false -> 0
      end;
  defspec_arity(_) -> 0.
  
  
negative.code:     {Exp,St1} = exp_nequal(Es, Op, St0),
      {yes,Exp,St1};
  exp_predef([Op|Es], _, St0)
    when Op =:= '>'; Op =:= '>='; Op =:= '<'; Op =:= '=<';
         Op =:= '=='; Op =:= '=:=' ->
      case Es of
          [_|_] ->
              {Exp,St1} = exp_comp(Es, Op, St0),
  