record StoreT : Type -> (Type -> Type) -> Type -> Type(Monoid s, Applicative w) => Applicative (StoreT s w)Comonad w => Comonad (StoreT s w)(ComonadApply w, Semigroup s) => ComonadApply (StoreT s w)ComonadEnv e w => ComonadEnv e (StoreT t w)Comonad w => ComonadStore s (StoreT s w)ComonadTrans (StoreT s)Functor w => Functor (StoreT s w).run : StoreT s w a -> w (s -> a)run : StoreT s w a -> w (s -> a).val : StoreT s w a -> sval : StoreT s w a -> sStore : Type -> Type -> Typestore : (s -> a) -> s -> Store s aCreate a Store using an accessor function and a stored value
runStore : Store s a -> (s -> a, s)runStoreT : StoreT s w a -> (w (s -> a), s)