sig
  type 'a status = Delayed of (unit -> 'a) | Value of 'a | Exception of exn
  and 'a t = 'a Lazy.status Pervasives.ref
  exception Undefined
  val force : 'a Lazy.t -> 'a
end