module Bot.DSL.State where class Monad m => MonadData m where getData :: Read a => String -> m (Maybe a) putData :: Show a => String -> a -> m ()