Impure is an effect (encoded as one possibility among other effects, a Union)
and a continuation providing the next Eff value.
This essentially models a flatMap operation with the current effect
and the monadic function to apply to a value once the effect is interpreted
One effect can always be executed last, just for side-effects
add one last action to be executed after any computation chained to this Eff value