This is an amateurish project to think about what it would take to do a borrow checker in C++. None of this is production quality. To do: Adopt CMake Adopt GTest Consider what it takes to make a thread-safe version of these