Почему map возвращает дополнительный элемент при использовании диапазонов в Haskell?

Я только начал изучать Хаскель и нашел странную вещь.

Пусть у нас есть список:

ghci> [0,2..5]
[0,2,4]

Имеет 3 элемента. Когда я используюmap с этим списком я получаю 3 элемента в качестве вывода, например:

ghci> map (+ 1) [0,2..5]
[1,3,5]
ghci> map (* 2) [0,2..5]
[0,4,8]
ghci> map (`div` 2) [0,2..5]
[0,1,2]

Но когда я использую дробное деление, я получаю 4 элемента в списке вывода:

ghci> map (/ 2) [0,2..5]
[0.0,1.0,2.0,3.0]
ghci> length (map (/ 2) [0,2..5])
4

Не могли бы вы объяснить, почемуmap может вернуть больше элементов, чем было?

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос