Coalton has a monad type class (and applicative etc.) but it is not a pure language, so it has no special annotation for side effects.