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