Flags.Make builds a new flags module. If there is an error in the known flags,
it behaves as per on_error.
We expose type t = int in the result of Flags.Make so that one can easily use
flag constants as values of the flag type without having to coerce them. It is
typical to hide the t = int in another signature S.