anchor.diff:  
   rm_comments(Node) ->
       refac_syntax:remove_comments(Node).
  +
  +format(Es)when is_list(Es) ->
  +    [refac_prettypr:format(refac_util:reset_ann_and_pos(E))||E<-Es];
  +format(E) ->
  +    refac_prettypr:format(refac_util:reset_ann_and_pos(E)).
  +
  
positive.code: 
  %%TODO: should expr_unification(Exp1, Exp2) == expr_unification(Exp2, Exp1)?
  
  %%-spec(expr_unification/2::(syntaxTree(), syntaxTree()) ->
  %%				{true, [{atom(), syntaxTree()}]} | false).
  
  expr_unification(Exp1, Exp2) ->
      expr_unification(Exp1, Exp2, syntax).
  expr_unification_extended(Exp1, Exp2) ->
      expr_unification(Exp1, Exp2, semantics).
  
  expr_unification(Exp1, Exp2, Type) ->
      case expr_unification_1(Exp1, Exp2, Type) of
  	{true, Subst} ->
  	    Subst1 = lists:usort([{E1, refac_prettypr:format(E2)} || {E1, E2} <- Subst]),
  	    Subst2 = lists:usort([E1 || {E1, _E2} <- Subst1]),
  	    case length(Subst2) == length(Subst1) of
  		true -> {true, Subst};
  
negative.code: 	    false      %% an actual parameter cannot be a list of expressions.
      end.
  
  same_type_expr_unification(Exp1, Exp2, Type,CheckGen) ->
      T1 = refac_syntax:type(Exp1),
      case T1 of
  	variable ->
  