sig
  type 'a t = 'a lazy_t
  exception Undefined
  val force : 'Lazy.t -> 'a
  val force_val : 'Lazy.t -> 'a
  val lazy_from_fun : (unit -> 'a) -> 'Lazy.t
  val lazy_from_val : '-> 'Lazy.t
  val lazy_is_val : 'Lazy.t -> bool
end