Type defaulting

Stil not clear how this works:

Output:

…or this:

Output:

Despite, lentgthy discussions here: https://www.reddit.com/r/haskell/comments/1r3w3w/implicit_type_conversion_for_value_constants/

And despite this: https://www.haskell.org/onlinereport/decls.html#sect4.3.4

And despite this: https://kseo.github.io/posts/2017-01-04-type-defaulting-in-haskell.html

…which states: “Haskell default rule can be summarized as:”

Latest reserach in GHC.Num shows:

Even more puzzling, this here does not compile:

Compiler error:

It will work again, like this:

Output: