Question about ABI in WASM

Option, Result, Vec and String don't have a stable layout. (except for Option<&T>, Option<&mut T>, Option<NonNull<T>> and Option<NonZero*>) You will need to define your own types with a stable layout and convert between them.