C++ doesn't have a concept of immutable data, or data not shared by another thread, which is part of the challenge.
This "region borrow checker" aids the former; we can call a pure function that can regard previously shared-mutable data as temporarily immutable.