It looks like effect systems have two parts to them:
selecting and executing the correct effect handler
making the code typed
The first part can be implemented easily in dynamic languages. e.g., with continuations, condition system, or dynamic scoping. However, solving the typing is much harder.
So… are effect systems only relevant to statically strongly types languages?