\begin{code}
numericEnumFrom :: (Fractional a) => a -> [a]
-numericEnumFrom n = numericEnumFromThen n (n + 1)
+numericEnumFrom n = n `seq` (n : numericEnumFrom (n + 1))
numericEnumFromThen :: (Fractional a) => a -> a -> [a]
numericEnumFromThen n m = n `seq` m `seq` (n : numericEnumFromThen m (m+m-n))