WASI and Emscripten exist because people want to write code that interacts with the outside world. Your approach is fine if you just want to call into some math functions and are ok writing your own bindings, but that’s not how most people use wasm.