sig
  exception Undefined
  type 'a t = 'a lazy_t
  val force_lazy_block : 'a lazy_t -> 'a
  val force_val_lazy_block : 'a lazy_t -> 'a
  val force : 'a lazy_t -> 'a
  val force_val : 'a lazy_t -> 'a
end