type
type MonadAgent (m :: Type -> Type) = (Monad m, MonadAsync m, MonadCatch m, MonadEvaluate m, MonadFail m, MonadMVar m, MonadST m, MonadTimer m, MonadTime m)All the monadic typeclasses needed to run agent actions.