static Conveyor<F, O> produce<F, O>(O head, [Conveyor<F, O>? tail]) => new _Produce(head, tail ?? halt(End));