functor (X : T-> sig val lazy_list_of_t : 'X.t -> 'Lazy_list.t end