sig
  type t
  val of_int : int -> Flags_intf.S.t
  val to_int_exn : Flags_intf.S.t -> int
  val equal : Flags_intf.S.t -> Flags_intf.S.t -> bool
  val empty : Flags_intf.S.t
  val ( + ) : Flags_intf.S.t -> Flags_intf.S.t -> Flags_intf.S.t
  val ( - ) : Flags_intf.S.t -> Flags_intf.S.t -> Flags_intf.S.t
  val intersect : Flags_intf.S.t -> Flags_intf.S.t -> Flags_intf.S.t
  val complement : Flags_intf.S.t -> Flags_intf.S.t
  val is_empty : Flags_intf.S.t -> bool
  val do_intersect : Flags_intf.S.t -> Flags_intf.S.t -> bool
  val are_disjoint : Flags_intf.S.t -> Flags_intf.S.t -> bool
  val sexp_of_t : Flags_intf.S.t -> Sexplib.Sexp.t
end