anchor.diff:                              [{true, []}];
                          true -> [false]
                       end;
  -                _ -> [{true, [{Exp1, Exp2}]}]
  +                false -> 
  +                    case is_object_variable(Exp1) of 
  +                        true when Exp1Name==Exp2Name->
  +                            [{true, []}];
  +                        true ->
  +                            [false];
  +                        false ->
  +                            [{true, [{Exp1, Exp2}]}]
  +                    end
   	    end;
   	atom ->
               Exp1Val = wrangler_syntax:atom_value(Exp1),
  
positive.code:           false
      end.
  
  %% is_meta_variable(Var) ->
  %%     case refac_syntax:type(Var) of
  %%         variable ->
  %%             VarName = atom_to_list(refac_syntax:variable_name(Var)),
  %%             lists:prefix("@", lists:reverse(VarName));
  %%         _ ->
  %%           false
  %%     end.
  
  is_meta_atom(Node) ->
      case wrangler_syntax:type(Node) of
          atom ->
  
negative.code:                                  false ->
                                       [];
                                   _ ->
                                       throw({error, lists:flatten(
                                                       io_lib:format
                                                         ("Condition checking of rule/collector "
                                                          "returns non-boolean value. Template being matched: ~s.",
                                                          [wrangler_prettypr:format(Exp1)]))})
                               end
                       end||{true,Subst}<-Res],
      case lists:append(PossibleMatches) of
  