anchor.diff:           tryPick/2,
            unfold/2,
            %where/2,
  -         %windowed/2,
  +         %windowed/2, % returns arrays
            zip/2,
            zip3/3,
            seq/1
  
positive.code:                                       [Item], Groups0),
              group_by(F, Groups, Seq)
      end.
  
  
  next({seq, Enum}) ->
  
negative.code:                 aggregate(Enum, {1, F(Item)}, Aggr)
          end,
      Total / Num.
  
  distinct(Seq) ->
      {seq, {delay, fun () -> distinct_by(fun id/1, [], seq(Seq)) end}}.
  
  distinctBy(F, Seq) ->
      {seq, {delay, fun () -> distinct_by(F, [], seq(Seq)) end}}.
  
  empty() ->
      {seq, {list, []}}.
  