anchor.diff:                                       , lists:zip(Params, Values)
                                        ),
             {pass, ParamsValues}
  -      end
  +      end;
  +    _ ->
  +      {not_equal, {Key, E, A}}
     end;
   validate_primitive(Key, E, A, _Callbacks) ->
     {not_equal, {Key, E, A}}.
  
positive.code:     ++ "|"
      ++ ?MATCH_ANY
      ++ ")",
    case re:run(E, RE_HAS_PARAMS, [global, {capture, all_but_first, list}]) of
      nomatch ->
        {not_equal, {Key, E, A, TextDiffFun(E, A)}};
      {match, [[E]]} ->
        case E of
          ?MATCH_ANY ->
            {pass, []};
          _ ->
            {pass, [{store_tag2param(E), A}]}
        end;
      {match, Params0} ->
        Type = if
                 is_list(A) ->
                   list;
                 is_binary(A) ->
                   binary
               end,
        Params = lists:map( fun([?MATCH_ANY]) ->
                                ?MATCH_ANY;
                               ([Match]) ->
  
negative.code:                       , [global]
                        ),
        RE = ["^", RE3, "$"],
        case re:run(A, RE, [global, {capture, all_but_first, AStringType}]) of
          nomatch ->
            {not_equal, {Key, E, A, TextDiffFun(E, A)}};
          {match, [Values]} ->
  