Rust: the typestate pattern