This is far from trivial. Consider the WasmGC proposal, which had a somewhat similar goal.
Then C# came and said "we can't use it, we have different needs". So did Go.
> Then C# came and said
It's worse than that. The WASM GC standards team was warned in advance that the proposal wouldn't work for .NET, and they moved forward with it anyway:
https://github.com/WebAssembly/gc/issues/77
They were also warned about Go (though I'm not sure if they ever actually consulted with golang devs):
https://github.com/WebAssembly/gc/issues/36
More links:
https://github.com/dotnet/runtime/issues/94420
https://github.com/golang/go/issues/63904
> Then C# came and said
It's worse than that. The WASM GC standards team was warned in advance that the proposal wouldn't work for .NET, and they moved forward with it anyway:
https://github.com/WebAssembly/gc/issues/77
They were also warned about Go (though I'm not sure if they ever actually consulted with golang devs):
https://github.com/WebAssembly/gc/issues/36
More links:
https://github.com/dotnet/runtime/issues/94420
https://github.com/golang/go/issues/63904