I am the author of that. In that piece I am discussing performance when using free monad as a building block to implement an effect system library. If you are trying to use the free monad on its own, that discussion may not be very helpful. See also: Are complaints about Free Monad performance pointless, and no different to a corresponding Monad construction? - #17 by ymdfield
Also, the part comparing to effectful is not very reliable. First, I later realized that the performance gap between the effectful family and the free monad family of libraries is not something you can close by changing the encoding of free monad; rather, the cause lies elsewhere. Second, in a simple head to head comparison between the two libraries, it is simply slower than effectful. (At the time I had eff, polysemy, and fused-effects in mind as the comparison set, so when you put them together on a bar chart the margin looked small…)