{-# LANGUAGE BangPatterns, Safe #-} module Data.RangeSet.Internal.Enum (module Data.RangeSet.Internal.Enum) where import Prelude import Data.RangeSet.Internal.Types (E, Size) {-# INLINE range #-} range :: Enum a => a -> a -> [a] range :: a -> a -> [a] range a l a u = [a l..a u] {-# INLINE diffE #-} diffE :: E -> E -> Size diffE :: E -> E -> E diffE !E l !E u = E u E -> E -> E forall a. Num a => a -> a -> a - E l E -> E -> E forall a. Num a => a -> a -> a + E 1