&gt; it is about what is possible in the language based on how it is implemented (which is C++)<p>What is possible to express in a language is determined by its specification, not its implementation. Of course, it&#x27;s up to the implementor to correctly adhere to the spec, but this is also independent of language choice. It&#x27;s certainly possible, and has been done, to implement a language with GC, TCO, lazy evaluation, purity, etc etc, in a language like C++ which has none of those things. For example, the nix language, which has all of those things except TCO (which it certainly could have in theory) is implemented in C++.