public static Seq <A> New(Lst <A> seq) { var iter = seq.GetEnumerator(); return(iter.MoveNext() ? new SeqLst <A>(iter.Current, iter, seq, 1) : Empty); }
public static Seq <A> New(A head, Lst <A> seq) => new SeqLst <A>(head, seq.GetEnumerator(), seq, 0);