Despite their invaluable contribution to the programming language community, monads as a foundation for the study of effects have three problems: they make it difficult to combine effects; they enforce sequentialization of computations by the syntax; they prohibit effect-free evaluations from invoking effectful computations. Building on the judgmental formulation and the possible worlds interpretation of modal logic, we propose a logical analysis of effects based upon the view monads are not identified with effects. Our analysis leads to a language called $\langmonad$ which distinguishes between control effects and world effects, enforces sequentialization of computations only by the semantics, and logically explains the invocation of computations from evaluations. $\langmonad$ also serves as a unified framework for studying Haskell and ML, which have traditionally been studied separately.