type Ks i o s ans = Ms (K i o) s ans putHighsMs :: (Foldable t, StreamProcIO sp) => t a -> Msc (sp i a) 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 :: t1 -> Mk (t1 -> t2) t3 -> (t3 -> t2) -> t2 stateK :: t1 -> Mk (t1 -> t2) r -> t2 -> t2
Fudget Kernel Monad with State (just an instance of Ms).