Common signature for transient and restartable generators
The signature S abstracts on a type 'a t, where the t can be the type of transient or restartable generators. Some functions specify explicitly that they use 'a gen (transient generators).
type 'a gen = unit -> 'a optiontype 'a iter = ('a -> unit) -> unitmodule type S = sig ... end