Почему поведение нотации диапазона Haskell отличается от поплавков, чем для целых чисел и символов?
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"
Я бы это понял, если последний элемент был близок к верхней границе, но это, очевидно, не проблема округления.