This allows getN to return a detailed explanation of any type signature mismatch, and makes it easy to just use `?` on the result of getN rather than constructing a (necessarily vaguer) error message in the caller.
This is the wasmtime-wasi crate, which implements the
WebAssembly System Interface (WASI) API in Rust.
WASI is greatly inspired by and directly derived from CloudABI. It differs in that it has aspirations to expand to a greater scope, and to better support the needs of WebAssembly engines.