I'm upset WASM doesn't have any types other than numbers, so you can't export any real-world functions without relying on glue code, which converts strings and objects to numbers and the other way around
this is also the reason why the "hello world" of WASM is a function adding two numbers - because there are no strings in WASM
Check out the component model proposal, which adds a stable ABI for rich types like strings, arrays, structs, etc.