All flags are monoids, they come in two flavours:
list flags eg
--ghc-option=foo --ghc-option=bargives us all the values ["foo", "bar"]
singular value flags, eg:
--enable-foo --disable-foogives us Just False
So, this Flag type is for the latter singular kind of flag. Its monoid instance gives us the behaviour where it starts out as NoFlag and later flags override earlier ones.
Isomorphic to Maybe a.