sig
  type 'a lazy_list = 'a Lazy_list.t
  type 'a t
  val create : 'a Lazy_list.Iterator.lazy_list -> 'a Lazy_list.Iterator.t
  val next : 'a Lazy_list.Iterator.t -> 'a option
  val iter : 'a Lazy_list.Iterator.t -> f:('a -> unit) -> unit
end