anchor.diff:  %% @end
   
   -spec explode(binary()|list(binary())) -> [binary()].
  -explode(<<TopicLevels/binary>>)->
  +explode(<<TopicLevels/binary>>) ->
       explode(split(TopicLevels));
   
   explode(TopicLevels) when is_list(TopicLevels) ->
       RawList = [ list_to_binary(lists:reverse(RL)) || RL <- explode([],TopicLevels)],
  -    Set = sets:from_list(RawList),
  +    Set = sets:from_list(RawList), %% deduplicate
       [<<"#">>|sets:to_list(Set)].
   
   explode(ParentLevels,["/"|T]) ->
  
positive.code: %% e.g. [ /A/B/+ , /A/B/C ] can be reduced to [/A/B/+]
  %% @end
  min_cover(Filters) ->
      min_cover([],Filters).
  
  min_cover(Maximals,[]) ->
      Maximals;
  
  min_cover(Maximals,[H|T]) ->
      min_cover(merge_max(Maximals,H),T).
  
  merge_max(Maximals,NewMax) ->
      DedupL = [ Max || Max <- Maximals, not is_covered_by(Max,NewMax) ],
      case lists:any(fun(Max) -> is_covered_by(NewMax,Max) end, DedupL) of
          true    -> DedupL;
  
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])->
  