sig
  type name
  type symbol = int
  type namepool
  val create_pool : unit -> Pool.NamePool.namepool
  val init_pool : Pool.NamePool.namepool -> unit
  val get_name :
    Pool.NamePool.namepool -> Pool.NamePool.symbol -> Pool.NamePool.name
  val add_name :
    Pool.NamePool.namepool -> Pool.NamePool.name -> Pool.NamePool.symbol
  val exists_name : Pool.NamePool.namepool -> Pool.NamePool.name -> bool
  val symbol_equals :
    Pool.NamePool.namepool ->
    Pool.NamePool.symbol -> Pool.NamePool.symbol -> bool
  val pool_size : Pool.NamePool.namepool -> int * int * int
end