Можно и так сказать. На самом деле, есть джва три вида систем эффектов, из того, что я знаю:
1) Алгебраические - нет local
и других функций с негативным вхождением
2) не-алгебраические - всё это есть, и в ядре там фримонады, но нельзя сделать Eff [HasReader x, ...] a -> Eff [...] (Reader a)
3) polysemy/fused-effects - всё есть, в ядре подобие фримонады (обработанной напильником freer
, точнее), всё можно, но медленнее чем mtl в разы