anchor.diff:  do_generate_rule_for_try_expr({M,F,A}, Pats, B) ->
       MetaRule=do_generate_meta_rule_for_try_expr({M,F,A}, Pats, B, 'META_RULE'),
       SimpleRule=do_generate_simple_rule_for_try_expr({M,F,A}, Pats, B, 'RULE'),
  -    {[{M,F,A}],[MetaRule], [SimpleRule]}.
  -  
  -
  +    Cs = wrangler_syntax:try_expr_clauses(B),
  +    case need_a_rule_for_match(Cs) of 
  +        true ->
  +            MatchRule = do_generate_meta_rule_for_match_expr({M,F,A},Pats,B,'META_MATCH_RULE'),
  +            {[{M,F,A}],[MetaRule, MatchRule], [SimpleRule]};
  +        _  -> 
  +            {[{M,F,A}],[MetaRule], [SimpleRule]}
  +
  +    end.
  + 
   -spec(do_generate_meta_rule_for_try_expr({modulename(), functionname(),arity()},
                                        Pats::[syntaxTree()],Body::syntaxTree(), 
                                             RuleNacroName::atom())
  -      -> string()).            
  +      -> {atom(), string()}).            
   do_generate_meta_rule_for_try_expr({M,F,_A},Pats,Body,RuleMacroName) ->
       RuleFunName=list_to_atom(atom_to_list(F)++"_meta_rule"),
       NewPats = to_meta_vars(Pats),
  
positive.code:                                     {E2, erlang:get_stacktrace()}
                              end;
                          _ -> {error, "Wrangler could not infer the module name of the file supplied"}                
                      end;
                  {error, Reason} ->
                      {error, mk_str("File ~p does not compile: ~p!",[FileName, Reason])}
              end
      end.
  
  
negative.code:     case file:write_file(NewFileName, list_to_binary(Code)) of
          ok ->
              {ok, NewFileName};
          {error, Reason} -> {error, Reason}
      end.
      
  
  