anchor.diff:              group_by(F, Groups, Seq)
       end.
   
  -distinct_by(KeyF, Items, Seq0) ->
  -    case next(Seq0) of
  -        finished ->
  -            lists:reverse(Items);
  -        {Item, Seq} ->
  -            case lists:member(KeyF(Item), Items) of
  -                true ->
  -                    distinct_by(KeyF, Items, Seq);
  -                false ->
  -                    distinct_by(KeyF, [Item | Items], Seq)
  -            end
  -    end.
  -
  -
  -
   next({seq, Enum}) ->
       next(Enum);
   next({list, [H | Tail]}) ->
  
positive.code:             {{Last, Item}, {pairwise, Item, [], Seq}};
          finished ->
              finished
      end;
  
  next({append, first, Enum0, Seq2}) ->
  
negative.code:     [3,4] = array:to_list(W3),
      [] = toList(windowed(2, [])),
      [] = toList(windowed(2, [1])),
      ok.
  
  countBy_test() ->
      Seq = [1,2,3],
      3 = countBy(fun id/1, Seq),
      1 = countBy(fun(_) -> one end, Seq),
      ok.
  
  are_seqs_test() ->
  