anchor.diff:  
   -spec value(orset()) -> [member()].
   value(ORSet) ->
  -    Iter = gb_trees:iterator(ORSet),
  -    Next = gb_trees:next(Iter),
  -    value(Next, [], ORSet).
  +    gb_trees_ext:fold(fun(Elem, Tokens, Acc0) ->
  +                case length(valid_tokens(Tokens)) > 0 of
  +                    true ->
  +                        Acc0 ++ [Elem];
  +                    false ->
  +                        Acc0
  +                end
  +        end, [], ORSet).
   
   -spec value(any(), orset()) -> [member()] | orddict:orddict().
   value({fragment, Elem}, ORSet) ->
  
positive.code:             Tokens1 = orddict:fold(fun(Token, _, Tokens0) ->
                                             orddict:store(Token, true, Tokens0)
                                     end, orddict:new(), Tokens),
              {ok, orddict:store(Elem, Tokens1, ORSet)};
          false ->
              {error, {precondition, {not_present, Elem}}}
      end.
  
negative.code:         true ->
              Tokens = gb_trees:get(Elem, ORSet),
              Tokens1 = orddict:store(Token, false, Tokens),
              {ok, gb_trees:enter(Elem, Tokens1, ORSet)};
          false ->
              Tokens = orddict:store(Token, false, orddict:new()),
              {ok, gb_trees:enter(Elem, Tokens, ORSet)}
  