type Ks i o s ans = Ms (K i o) s ans putHighsMs :: (Foldable t, StreamProcIO sp) => t o -> Msc (sp i o) r putHighMs :: StreamProcIO sp => o -> Msc (sp i o) r putLowsMs :: (Foldable t, FudgetIO f) => t FRequest -> Msc (f hi ho) r putLowMs :: FudgetIO f => FRequest -> Msc (f hi ho) r getKs :: Ms (K hi ho) s (KEvent hi) stateMonadK :: p -> Mk (p -> t1) t2 -> (t2 -> t1) -> t1 stateK :: b1 -> Mk (b1 -> a) b2 -> a -> a
Fudget Kernel Monad with State (just an instance of Ms).