Building a WASM kernel
When people here the word "kernel", there tends to be some confusion. Because almost everyone has heard of the term "Linux kernel", is fair to assume that you are going something directly with the operating system. However, the term kernel is more boarder than that. If you google "domain driven design kernel", you will see a range of definitions, but they will all essentially boil down to a kernel being a bounded context that is shared across multiple bounded contexts, and this is what we are building. For our kernel, we simply need to build a data struct that both bounded contexts (client and lib) need to reference.
We could just build the same structs in both WASM clients and libraries, and these would technically work as we are going to serialize our structs before sending them over the WASM boundary. However, maintaining consistency when there's multiple duplicates of a struct is harder, and if both client and lib end up being...