anchor.diff:      false -> match_topics(Client, Topic, Filters)
       end.
   
  +match_topic(Topic, {eq, TopicFilter}) ->
  +    Topic =:= TopicFilter;
   match_topic(Topic, TopicFilter) ->
       emqtt_topic:match(Topic, TopicFilter).
   
  
positive.code: compile(who, {user, Username}) ->
      {user, bin(Username)};
  
  compile(topic, Topic) ->
      Words = emqtt_topic:words(Topic),
      case 'pattern?'(Words) of
          true -> {pattern, Words};
          false -> Words
  
negative.code:     {A, all};
  
  compile({A, Who, Access, TopicFilters}) when (A =:= allow) orelse (A =:= deny) ->
      {A, compile(who, Who), Access, [compile(topic, Topic) || Topic <- TopicFilters]}.
  
  compile(who, all) -> 
      all;
  