`type t = PSet.t PTbl.t`
`val create : int -> PSet.t array`
`val has : PSet.t array -> int -> bool`
`val check : PSet.t array -> PSet.elt -> int -> bool`
`val add : PSet.t array -> PSet.elt -> PSet.elt -> unit`
`val remove : PSet.t array -> PSet.elt -> PSet.elt -> unit`
`val iter : PSet.t array -> (PSet.elt -> PSet.elt -> unit) -> unit`
`val iter_on_packages : 'a array -> (int -> 'a -> unit) -> unit`
`val of_package : 'a array -> int -> 'a`
`val exists : PSet.t array -> (PSet.elt -> bool) -> int -> bool`
`val for_all : PSet.t array -> (PSet.elt -> bool) -> int -> bool`