anchor.diff:      T.
   
   is_covered_by({Pattern1,QoS1},{Pattern2,QoS2}) ->
  -    is_covered_by(Pattern1,Pattern2) andalso QoS2 >= QoS1;
  +    QoS2 >= QoS1 andalso is_covered_by(Pattern1,Pattern2);
   
   %% @doc
   %% Tells us if the Cover covers the Pattern.
  
positive.code: 
  
  %% @doc
  %% Picks a matching filter with highest QoS.
  %% @end
  best_match(Subs,Topic) ->
      Matches = lists:filter(fun({Filter,_}) -> is_covered_by(Topic,Filter) end, Subs),
      case lists:sort(fun({_,QoS1},{_,QoS2}) -> QoS1 >= QoS2 end, Matches) of
          [H|_] -> {ok,H};
          []    -> error
      end.
  
  %% normalize(<<Pattern/binary>>) ->
  
negative.code: seg_is_covered_by([],[_|_])     -> false; %% else if the pattern is longer than the potential match, there is no match
  seg_is_covered_by([_|_],[])     -> false; %% else if the patter is shorter than the potential match
  seg_is_covered_by([],[])        -> true;  %% if the pattern is as long as the potential match, THIS IS a match
  
  
  %% # > + > char
  seg_is_covered_by([PH|PT],[CH|CT])->
  