bisher:
fix :: ( a -> a ) -> a fix f = f ( fix f )
import Control.Monad.Fix class MonadFix m where mfix :: ( a -> m a ) -> m a instance MonadFix Action where mfix f = Action $ \ s0 -> let Action a = f v ( s1, v ) = a s0 in ( s1, v )