cancellation not being part of the async runtime leads to horrors, in every language.
Ilha 0.4: The launch of Remix 3 beta inspired me to improve the .effect() and .on() in Ilha. Now, you can access the signal in the handler by adding the ':abortable' modifier. When the same listener fires again on the same target, the previous invocation's signal is aborted.