anchor.diff:      lists:usort([keyword(Q)||Q <- Qs]).
   
   keyword(Q = #not_q{}) ->
  -    Q#not_q.sub#term_q.keyword;
  +    Q#not_q.sub_q#term_q.keyword;
   keyword(Q) ->
       Q#term_q.keyword.
   
  
positive.code: 
  not_element({_, L, R}) ->
      not_element(L) and not_element(R);
  not_element(#not_q{sub = #term_q{}}) ->
      true;
  not_element(#not_q{}) ->
      false;
  
negative.code:     {#or_q{l_sub_q = L,r_sub_q = R},max(DepthL, DepthR)+1};
  tree_to_query({not_q,SubTree}) ->
      {Sub,Depth} = tree_to_query(SubTree),
      {#not_q{sub_q = Sub},Depth+1};
  tree_to_query({term_q,{string,Keyword,_}}) ->
      {#term_q{keyword = Keyword},0}.
  
  