module NoSlow.Util.Base ( Ty(..), ofType, named, Unsupported(..), Sort(..), noinline ) where data Ty a = Ty ofType :: a -> Ty a -> a {-# INLINE ofType #-} x `ofType` _ = x named :: String -> a -> a {-# INLINE named #-} named s x = x data Unsupported = Unsupported data Sort = Generic | Specialised deriving (Eq, Ord, Show) noinline :: a -> a {-# NOINLINE noinline #-} noinline x = x