Haskell gamas e carros alegóricos

Por que o comportamento da notação de intervalo Haskell é diferente para flutuadores e para números inteiros e caractere

Prelude> [1, 3 .. 10] :: [Int]
[1,3,5,7,9] 
Prelude> [1, 3 .. 10] :: [Float]
[1.0,3.0,5.0,7.0,9.0,11.0]
Prelude> ['a', 'c' .. 'f']
"ace"

Eu entenderia se o último elemento estivesse próximo ao limite superior, mas isso obviamente não é um problema de arredondament

questionAnswers(2)

yourAnswerToTheQuestion