module Heap_block: Heap_block
type 'a t = private 'a 
val create : 'a -> 'a t option
create v returns Some t if v is a heap block, where t is physically equal
    to v
val create_exn : 'a -> 'a t
val value : 'a t -> 'a
value t returns the value that is physically equal to t
val bytes : 'a t -> int
bytes t returns the number of bytes on the heap taken by heap block t, including
    the header.  This is just the space for the single block, not anything it points
    to.
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t