https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute cc @graydon @stellar/contract-committers