wasm_syntax defines the entirety of Wasm syntax, along with binary serialization and deserialization.
The types are defined using a syntax similar to Wasm binary format specification using a proc macro.
The goal is to be complete, not to be idiomatic or easy to use.