Haskell has a class ```haskell class Monad m => MonadFix m where mfix :: (a -> m a) -> m a ``` It should be possible to do something similar in PureScript. I'm not sure which of these types makes more sense: ```haskell mfix1 :: (Lazy a -> m a) -> m a mfix2 :: (Lazy a -> m (Lazy a)) -> m (Lazy a) ```