Module Upool

type 'a typed_int
val int : 'a typed_int -> int
module type S = sig ... end
module Make : functor (X : Custom.T) -> S with type value = X.t