Так вот я понимаю частично, есть внутреняя структура:
1. внутри что-нибудь свободное free(r), operational, и т.п., + возможно с codencity / reflection w/o remoerse. Но какие вещи тут что дают, у одних явно лучше ассимптотика, но когда это важно и чем мы платим за более хорошую?
2. есть некий контекст, в котором мы собираем список хэндлеров эффектов, типа Eff [m::* -> *]
, и интерпретатор Eff, который раздаёт эффект соотвествующим handler-ам. Тут какие есть варианты в пространстве дизайна?
3. Точно бывают ограничения типа local эффектов (local в Reader, или исключения), но их явно умеют обходить. Но как? И чем мы за это платим?