`type phantom` = `[`

`|` ``Epoch`

`]```
`type -'rw t``= (phantom, 'rw) t```
`include sig ... end`
`val t_of_sexp : (Base.Sexp.t ‑> 'rw) ‑> Base.Sexp.t ‑> 'rw t`
`val sexp_of_t : ('rw ‑> Base.Sexp.t) ‑> 'rw t ‑> Base.Sexp.t`
`val message_type : char`
`val buffer_length : int`
`val of_iobuf_exn : ('rw, _) Core.Iobuf.t ‑> 'rw t`
`val write : epoch:Profiler_epoch.t ‑> (Core.read_write, _) Core.Iobuf.t ‑> int`
`val create : epoch:Profiler_epoch.t ‑> (Core.read_write, Core.Iobuf.seek) Core.Iobuf.t`
`val get_message_length : _ t ‑> int`
`val get_message_type : _ t ‑> char`
`val get_epoch : _ t ‑> Profiler_epoch.t`
`val set_epoch : (Core.read_write, _) Core.Iobuf.t ‑> Profiler_epoch.t ‑> unit`
`val to_sub_iobuf : 'rw t ‑> ('rw, Core.Iobuf.seek) Core.Iobuf.t`
`module Unpacked : sig ... end`
`val to_unpacked : 'rw t ‑> Unpacked.t`
`val of_unpacked : Unpacked.t ‑> 'rw t`