Integer Literals
is a numeral without a decimal point
for example 0, 1, 42, ...
is implicitly applied to fromInteger which is part of the Num type class so it indeed has type Num a => a - that is it can have any type that is an instance of Num
Fractional Literals
is a numeral with a ...