> Should this be callbacks.slice(1)? Both because the callbacks object is currently shared (shared mutable state is poison),

They are shared, but only in the context of the `handle()` call. I would be more concerned if callbacks were shared between unbound forms (which they are not).

It's like sending a pointer; yea you could mutate it but it's more efficient that way. What could the user do here that actually breaks anything?

> the callback you just called shouldn't remain on the stack.

Why? You get recursion if you want it. Otherwise, no harm.