module Data.Unit.Strict
( StrictUnit (),
forceElemsToWHNF,
)
where
forceElemsToWHNF :: Foldable t => t a -> t a
forceElemsToWHNF :: t a -> t a
forceElemsToWHNF t a
x = (a -> StrictUnit) -> t a -> StrictUnit
forall (t :: * -> *) m a.
(Foldable t, Monoid m) =>
(a -> m) -> t a -> m
foldMap (a -> StrictUnit -> StrictUnit
`seq` StrictUnit
StrictUnit) t a
x StrictUnit -> t a -> t a
`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