These kinds of problems exist in
every implementation of a standard, from ANSI C to CSS. It's not even always intentional, because often times the standards evolve so quickly that implementors aren't with the necessary time required to implement them; worse still, the standards sometimes remain ambiguous, so the implementation of certain facets of the standard remain both correct and somehow inconsistent at the same time.
If you choose to function as a developer, it's just part of the game; deal with it.
