Taming stateful computations in Rust with typestates - Duarte, José; Ravara, António (Journal of computer languages (Online), 2022)