module Data.Unit.Strict (
StrictUnit (),
forceElemsToWHNF,
)
where
forceElemsToWHNF :: Foldable t => t a -> t a
forceElemsToWHNF :: forall (t :: * -> *) a. Foldable t => t a -> t a
forceElemsToWHNF t a
x = forall (t :: * -> *) m a.
(Foldable t, Monoid m) =>
(a -> m) -> t a -> m
foldMap (seq :: forall a b. a -> b -> b
`seq` StrictUnit
StrictUnit) t a
x seq :: forall a b. a -> b -> b
`seq` t a
x
data StrictUnit = StrictUnit
instance Semigroup StrictUnit where
StrictUnit
StrictUnit <> :: StrictUnit -> StrictUnit -> StrictUnit
<> StrictUnit
StrictUnit = StrictUnit
StrictUnit
instance Monoid StrictUnit where
mempty :: StrictUnit
mempty = StrictUnit
StrictUnit