https://www.somethingsblog.com/2024/10/21/mastering-rust-demystifying-the-borrow-checker/