José Duarte, António Ravara: Taming stateful computations in Rust with typestates. J. Comput. Lang. 72: 101154 (2022)