anchor.diff:  
   pattern_test_()-> [
       matchtst(#{}, <<"normal/uri">>, <<"normal/uri">>),
  +    matchtst(#{}, <<>>, <<>>),
  +    matchtst(undefined, <<>>, <<"any/uri">>),
       matchtst(undefined, <<"normal/uri">>, <<"another/uri">>),
       matchtst(#{devaddr => <<"00112233">>}, <<"{devaddr}">>, <<"00112233">>),
       matchtst(#{devaddr => <<"00112233">>}, <<"prefix.{devaddr}">>, <<"prefix.00112233">>),
  
positive.code:     undefined.
  
  prepare_matching(undefined) ->
      undefined;
  prepare_matching(Pattern) ->
      EPattern0 = binary:replace(Pattern, <<".">>, <<"\\">>, [global, {insert_replaced, 1}]),
      EPattern = binary:replace(EPattern0, <<"#">>, <<".*">>, [global]),
  
negative.code:     lists:map(
          fun(Item) -> fill_pattern(Item, Values) end, List);
  fill_pattern(undefined, _) ->
      <<>>;
  fill_pattern({Pattern, []}, _) ->
      Pattern;
  fill_pattern({Pattern, Vars}, Values) ->
  