sig
  type t
  val cardinal_zero_or_one : t -> bool
  val diff_if_one : t -> t -> t
  val fold_enum : (t -> '-> 'a) -> t -> '-> 'a
  val cardinal_less_than : t -> int -> int
end