sig
  type +'a t = private 'a
  val create : 'a -> 'a Heap_block.t option
  val create_exn : 'a -> 'a Heap_block.t
  val value : 'a Heap_block.t -> 'a
  val bytes : 'a Heap_block.t -> int
  val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a Heap_block.t -> Sexplib.Sexp.t
end