anchor.diff:  try_bind_path([], _Method, _PathParts, _QueryList) ->
       no_dispatch_path;
   try_bind_path([Dispatch|Rest], Method, PathParts, QueryList) ->
  -    [{PathParts1, Method1}, RedirectPath, QueryArgs] = Dispatch,
  +    [{PathParts1, Method1}, RedirectPath, QueryArgs, Formats] = Dispatch,
       case bind_method(Method1, Method) of
           true ->
               case bind_path(PathParts1, PathParts, []) of
  
positive.code:                     Bindings1 = Bindings ++ QueryList,
                      % we parse query args from the rule and fill
                      % it eventually with bindings vars
                      QueryArgs1 = make_query_list(QueryArgs, Bindings1, []),
                      % remove params in QueryLists1 that are already in
                      % QueryArgs1
                      Bindings2 = lists:foldl(fun({K, V}, Acc) ->
  
negative.code:         To ->
              parse_path(To)
          end,
      Formats = case couch_util:get_value(<<"formats">>, Rule) of
          undefined -> [];
          {Fmts} -> Fmts
      end,
      [{FromParts, Method}, ToParts, QueryArgs, Formats].
  
  parse_path(Path) ->
      {ok, SlashRE} = re:compile(<<"\\/">>),
  