I’m not sure I agree with the lightweight point. WebAssembly is missing features needed by many high-level languages. As a result, they have to resort to less than ideal tricks. For example, C# on WebAssembly runs using an interpreter even though normally it is JIT compiled.