sig
  type 'slots t
  val null : unit -> 'Pool_intf.S.Pointer.t
  val is_null : 'Pool_intf.S.Pointer.t -> bool
  val phys_equal :
    'Pool_intf.S.Pointer.t -> 'Pool_intf.S.Pointer.t -> bool
  module Id :
    sig
      type t
      val t_of_sexp : Sexplib.Sexp.t -> Pool_intf.S.Pointer.Id.t
      val sexp_of_t : Pool_intf.S.Pointer.Id.t -> Sexplib.Sexp.t
      val bin_t : Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.t
      val bin_read_t : Pool_intf.S.Pointer.Id.t Bin_prot.Read_ml.reader
      val bin_read_t_ :
        Pool_intf.S.Pointer.Id.t Bin_prot.Unsafe_read_c.reader
      val bin_read_t__ :
        (int -> Pool_intf.S.Pointer.Id.t) Bin_prot.Unsafe_read_c.reader
      val bin_reader_t : Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.reader
      val bin_size_t : Pool_intf.S.Pointer.Id.t Bin_prot.Size.sizer
      val bin_write_t : Pool_intf.S.Pointer.Id.t Bin_prot.Write_ml.writer
      val bin_write_t_ :
        Pool_intf.S.Pointer.Id.t Bin_prot.Unsafe_write_c.writer
      val bin_writer_t : Pool_intf.S.Pointer.Id.t Bin_prot.Type_class.writer
    end
  val sexp_of_t :
    ('slots -> Sexplib.Sexp.t) ->
    'slots Pool_intf.S.Pointer.t -> Sexplib.Sexp.t
end