sig
  val split :
    ('-> '-> int) -> '-> 'Sette.t -> 'Sette.t * bool * 'Sette.t
  val add : ('-> '-> int) -> '-> 'Sette.t -> 'Sette.t
  val mem : ('-> '-> int) -> '-> 'Sette.t -> bool
  val remove : ('-> '-> int) -> '-> 'Sette.t -> 'Sette.t
  val union : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> 'Sette.t
  val inter : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> 'Sette.t
  val diff : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> 'Sette.t
  val equal : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> bool
  val compare : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> int
  val subset : ('-> '-> int) -> 'Sette.t -> 'Sette.t -> bool
  val filter : ('-> '-> int) -> ('-> bool) -> 'Sette.t -> 'Sette.t
  val partition :
    ('-> '-> int) ->
    ('-> bool) -> 'Sette.t -> 'Sette.t * 'Sette.t
end