The standards are terribly complex and the reference implementations were originally written by the standards groups.
Then to keep compatibility everything has to be broken in the same way as the reference implementations which put more effort into “it works this time” than any kind of resilience.