It&#x27;s similar and there&#x27;s some endless debate over comparisons of various effect handlin systems. I like the one the op recommends because it&#x27;s fast and lightweight, but free works just the same. Free is really necessary if you&#x27;re going to be doing lots of introspection of the monad values where you&#x27;d still probably want to write your functions against such a typeclass stack but then translate the values out as free transformer stacks.