import GHC.List
import GHC.Enum
import GHC.Show
+import GHC.Err
infixr 8 ^, ^^
infixl 7 /, `quot`, `rem`, `div`, `mod`
gcdInteger' 0 0 = error "GHC.Real.gcdInteger': gcd 0 0 is undefined"
gcdInteger' a b = gcdInteger a b
+gcdInt :: Int -> Int -> Int
+gcdInt 0 0 = error "GHC.Real.gcdInt: gcd 0 0 is undefined"
+gcdInt a b = fromIntegral (gcdInteger (fromIntegral a) (fromIntegral b))
+
integralEnumFrom :: (Integral a, Bounded a) => a -> [a]
integralEnumFrom n = map fromInteger [toInteger n .. toInteger (maxBound `asTypeOf` n)]