Using Wasm requires bindings to cross between host and guest. Working these by hand is fine for 1 language, but what about 2, or 5, or 10? Then you get into the world of automated codegen and have to ask: should code be generated to feel more natural to the language or it can be a more direct mapping to the Component Model types. Neither option fits 100% of use cases so it is up to the tool authors to decide which makes the most sense. Developers may struggle with non-idiomatic patterns, leading to verbose, less maintainable code. Using established conventions makes the code feel more familiar, but does require some additional effort to implement. We decided to take the idiomatic path to minimize friction and make it easier for our team so we know what to expect when moving around the codebase.
Read more: https://blog.arcjet.com/the-wasm-component-model-and-idiomatic-codegen/