Module type Flags_intf.Flags

module type Flags = sig .. end

module type Make_arg = Flags_intf.Make_arg
module type S = Flags_intf.S
val create : bit:int -> Flags_intf.Int63.t
create ~bit:n creates a flag with the nth bit set. n must be between 0 and 62.

Typically a flag has one bit set; create is useful in exactly those cases. For flags with multiple bits one can either define the Int63.t directly or create it in terms of simpler flags, using + and -.

module Make: 
functor (M : Make_arg) -> S with type t = Int63.t
Flags.Make builds a new flags module.