Warum gibt map ein zusätzliches Element zurück, wenn Bereiche in Haskell verwendet werden?

Ich habe gerade angefangen, Haskell zu lernen und eine seltsame Sache gefunden.

Lass uns eine Liste haben:

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

s hat 3 Elemente. Wenn ich @ benutmap Mit dieser Liste erhalte ich 3 Elemente als Ausgabe, zum Beispiel:

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]

Aber wenn ich die gebrochene Division verwende, erhalte ich 4 Elemente in der Ausgabeliste:

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

Könnten Sie bitte erklären, warummap kann mehr Elemente zurückgeben, als es war?

Vielen Dank