internal Enumerate(EnumerateData <X> values, Func <X, ProducerLift <RT, OUT, A> > next) => (Values, Next) = (values, next);
internal static Pipe <RT, IN, OUT, X> enumerate <RT, IN, OUT, X>(EnumerateData <X> xs) where RT : struct, HasCancel <RT> => new Enumerate <RT, Unit, IN, Unit, OUT, X, X>(xs, Pipe.Pure <RT, IN, OUT, X>).ToPipe();
internal static Producer <RT, OUT, X> enumerate <RT, OUT, X>(EnumerateData <X> xs) where RT : struct, HasCancel <RT> => new Enumerate <RT, Void, Unit, Unit, OUT, X, X>(xs, Producer.Pure <RT, OUT, X>).ToProducer();
internal Do(EnumerateData <X> values, Func <X, Enumerate <A> > next) => (Values, Next) = (values, next);
internal static Client <RT, REQ, RES, X> enumerate <RT, REQ, RES, X>(EnumerateData <X> xs) where RT : struct, HasCancel <RT> => new Enumerate <RT, REQ, RES, Unit, Void, X, X>(xs, Pure <RT, REQ, RES, X>).ToClient();