The problem I see is that in both:
 Version: September 2006 of hugs, which is the one that is current for Ubuntu 9.10 release, and 
ghci 6.10.4, they both exhibit a {I think} strange behaviour, in regards to the shorthand way of calling out a list of enumerable values.  I will 
explain the problem that I have run into with examples:

Hugs> [3,7..22]
[3,7,11,15,19]     <- OK

Hugs> map (* 1.0) [3,7,11,15,19]  <- manual spec OK
[3.0,7.0,11.0,15.0,19.0]   

Hugs> map (* 1.0) [3,7..22]   <- same spec as first but !!! when
                                                mapped to with a (*1.0) to coerce 
                                                them to reals:
[3.0,7.0,11.0,15.0,19.0,23.0]   <- went one outside of range spec.

========================================
Exactly the same behaviour from ghci 6.10.4 :

Prelude> [3,7..22]
[3,7,11,15,19]

Prelude> map (* 1.0) [3,7..22]  <- using a range            
[3.0,7.0,11.0,15.0,19.0,23.0]     <- it screws up 
                                                 {at least it is not a "feature' to me}

Prelude> map (* 1.0) [3,7,11,15,19]   <- spelled out it acts "right".
[3.0,7.0,11.0,15.0,19.0]

This seems like a possible bug? or at least a sure fire trap waiting to be sprung ... one of those nasties that could really create havoc if someone is not aware of this behaviour and buries a function that include something that unwittingly coerces from an Integral to a Realfrac or Fractional.  Is this a well known thing to watch out for..
or is it something that can be worked around, other then having to
enumerate every value in a list rather then use the handiness of 
the range notation as shorthand?

cheers,

gene