This makes me wonder about the GC.
No doubt lots of people will like WebAssembly because it lets you code in other languages (e.g. C# via Blazor) - and having Sodium available everywhere is awesome!
Though I actually like typescript/javascript - especially with a functional approach (and libraries like Sanctuary)... the main reason I'd switch to WASM would be for the performance gain and avoiding GC burps. So, like, Rust or bust!
On the other hand, now that I'm getting my feet wet, it seems like you can't really write 100% pure WASM yet and there is currently always a thin layer of JS - even moreso when you need to access the DOM... so the GC is always going to be running.
Does it actually makes a difference how hard it needs to work? Like - how many objects it's tracking or how much freeing it needs to do? I understand the lifetime (not in the rust sense) of an object also affects it - but I'd imagine a WASM app will have a few objects in a short-term generation (i.e. for message passing) and other objects for long-term (i.e. references to a gl context)
Basically I'm wondering if it's worth getting into Rust if the goal is to avoid GC pauses in WASM...