module NoSlow.Util.Base ( Ty(..), ofType, named, Unsupported(..), Len(..) ) 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 newtype Len = Len { unLen :: Int }