Wow. That is right!
I did not realize that Signals are global variables (when not used with useSignal).
Uhm, and the same goes for Jotai and their Atoms. They are almost exactly like Signals, except that they do the “subscription” a little bit more explicit.
Redux is not a global variable because it uses a Provider, (it allows us to control which instance is injected)
And yes. Hooks and Signals hide crucial information.
And that is the problem of “this” in JavaScript.
We cannot see what happens in the code.
That is something that Miško also depicted in the past (he had an example with a test for a Credit Card payment, page 24 of this PDF). And I also remember that when I was a contributor in AngularJS, a couple of times they tweaked my proposals because they preferred things to be explicit, not implicit.
In that line, I often wanted to add the context to hooks. But I have no idea that how it would look.