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