Why not just Some Language -> C -> CCC -> executable? What is WASM bringing to the table?
Or better yet Some Language -> MLIR.
Or better yet Some Language -> MLIR.
But it turns out many languages do have "Some Language -> WASM" now. WebAssembly brings portability to the table.