I’m not sure that example is particularly interesting, because it only modifies ask
. If you want to modify ask
you can just use local
! It seems that it is the examples that modify local
that are interesting. such as your example at What is a higher-order effect? - #18 by ymdfield.
I’m not sure I understand fully what you mean, but what the handle actually is depends on the effect in question. You can see them all in the source. For example, State s
is an IORef s
, Reader
is a State
, Exception e
is a forall a. e -> IO a
that throws an exception, Coroutine a b
is a function a -> Eff e b
, etc., etc.