> How come they break Javascript semantics and execution flow?
wait what?
since when do they break execution flow and javascript semantics?!
useEffect(function () { }); when exactly do you think the function will be called? - correct only the "framework" defines that, but that's completly normal javascript execution and semantic.
How come they break Javascript semantics and execution flow?
> but ultimately every hook comes down to being a function execution.
That's really beside the point when it comes to understand what something is and using them.
{#await promise} is immediately understandable from its use.
Hooks are... well, I already said above.