Hackage recommends using Haskell's PVP[^1], but does not enforce it. That's why many haskell packages are a four-places versions: 3 required and fourth optional (but popular) that represents "other" changes, like documentation.
[^1]: https://pvp.haskell.org/
> A.B is known as the major version number
Why are they requiring two numbers to represent one (semantic) number?
> MAY optionally have *any* number of additional components, for example 2.1.0.4
Thus making the silly example possible.
Also, iirc PVP pre-dates SemVer. For anyone going to accuse Haskell of NIH :)
Remember, everyone: Haskell is very old!