Well, it doesn't matter what warning level you used, the standard is the standard.  And removing `enum`s is a loss of information.  What happens if we use `int`s instead of `unsigned`s?