The "semi-functional" programming features have always been a part of Rust - some of them have even been removed since, such as typestate. The borrow checker as we know it was actually added quite a bit afterwards.
Fascinating! I thought Rust was built around the borrow checker. Did Rust ensure memory safety back then? Back then, was their goal to make a more modern C++ with functional influence maybe?