 :  set * set  -> set
	val unionWith :      (item -> unit) -> set * set -> set

	val intersect :      set * set -> set
	val difference :     set * set -> set

	val size :           set -> int
	val isEmpty :        set -> bool

	val member :         set * item -> bool
	val choose :         set -> item option

	val equal :          set * set -> bool
	val subset :         set * set -> bool
	val disjoint :       set * set -> bool
	val compare :        set * set -> order

	val app :            (item -> unit) -> 