anchor.diff:  %% fold(Fun, Accumulator, OrdSet) -> Accumulator.
   %%  Fold function Fun over all elements in OrdSet and return Accumulator.
   
  --spec fold(fun((_, _) -> _), _, ordset(_)) -> _.
  +-spec fold(fun((T, term()) -> term()), term(), ordset(T)) -> term().
   
   fold(F, Acc, Set) ->
       lists:foldl(F, Acc, Set).
  
positive.code: -export([subtract/2,is_subset/2]).
  -export([fold/3,filter/2]).
  
  -type ordset(T) :: [T].
  
  %% new() -> Set.
  %%  Return a new empty ordered set.
  
  -spec new() -> ordset(term()).
  
  new() -> [].
  
  
negative.code: %% add_element(Element, OrdSet) -> OrdSet.
  %%  Return OrdSet with Element inserted in it.
  
  -spec add_element(E, ordset(T)) -> [T | E,...].
  
  add_element(E, [H|Es]) when E > H -> [H|add_element(E, Es)];
  add_element(E, [H|_]=Set) when E < H -> [E|Set];
  