Hi,
In Prelude.hs you can find the definition
enumFrom x = map toEnum [ fromEnum x ..]
Load a file.hs of just one line:
data TBool = Falsity | Undefined |Truth deriving (Enum, Show)
Then, I evaluate
enumFrom Falsity
and, as expected, it gives
[Falsity,Undefined,Truth]
However, the expression
map toEnum [ fromEnum Falsity ..]
gives first an ambiguity problem and then the problem I expected

Main> map toEnum [ fromEnum Falsity ..]
ERROR - Unresolved overloading
*** Type : Enum a => [a]
*** Expression : map toEnum (enumFrom (fromEnum Falsity))

Main> map toEnum [ fromEnum Falsity ..]::[TBool]
[Falsity,Undefined,Truth,
Program error: {_toEnum TBool_Falsity 3}
(98 reductions, 301 cells)

Why the function enumFrom works perfectly in spite of its erroneous definition?
Thanks in advance,
Paqui

P.D.
I am using the
|| || || || || || ||__ Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__|| __|| Copyright (c) 1994-2002
||---|| ___|| World Wide Web:
http://haskell.org/hugs
|| || Report bugs to: hugs-bugs@haskell.org
|| || Version: Nov 2002


---------------------------------
Paqui Lucio                               
Dpto de LSI                   
Facultad de Informática
Paseo Manuel de Lardizabal, 1
20080-San Sebastián
SPAIN
---------------------------------
e-mail: paqui.lucio@ehu.es
Tfn: (+34) (9)43 015049 
Fax: (+34) (9)43 015590
Web: http://www.sc.ehu.es/paqui
---------------------------------