Sure, C lets you craft pointer values to write to like a portable assembler. But how did that end up responsible for lvalue references, rvalue references, and universal references? C spec is ~700 pages. C is 2000 . The extra pages didn’t come from C, no?