anchor.diff:  
   -spec delete(Key, List) -> List when
         Key :: term(),
  -      List::[term()].
  +      List :: [term()].
   
   delete(Key, [P | Ps]) ->
       if is_atom(P), P =:= Key ->
  
positive.code: %% @see expand/2
  %% @see compact/1
  
  -spec normalize(List, Stages) -> List when
        List :: [term()],
        Stages :: [Operation],
        Operation :: {'aliases', Aliases}
                   | {'negations', Negations}
                   | {'expand', Expansions},
        Aliases :: [{Key, Key}],
        Negations :: [{Key, Key}],
        Expansions :: [{Property :: property(), Expansion :: [term()]}].
  
  normalize(L, [{aliases, As} | Xs]) ->
      normalize(substitute_aliases(As, L), Xs);
  
negative.code: %% @see unfold/1
  %% @see property/1
  
  -spec compact(ListIn) -> ListOut when
        ListIn :: [property()],
        ListOut :: [property()].
  
  compact(List) ->
      [property(P) || P <- List].
  