Your linked article hints at the advantages of using Monads and therefor ADTs (Algebraic Data Types), and does it really well.

The wiki entry on effect systems[0] tells me that a focus of an effect system is something different from a focus of monads. "The term algebraic effect follows from the type system", where an effect system is effectively a type and effect system. It links to Monadic encapsulation of effects[1] and mentions the runST monad when it mentions support in Haskell, as that one seem to "simulate a type and effect system".

Do have any such a link on the runTS monad?

[0]: https://en.wikipedia.org/wiki/Effect_system

[1]: https://www.cambridge.org/core/journals/journal-of-functiona...