Agreed. I do like the trivia of malloc() likely being "map alloc", and free() originally being called mfree().
The article also quotes Lions, which is a fun read. You get the sense that the Unix philosophy of "everything's a file" originally had a sibling: "everything's an int".
B is typeless, or more precisely has one data type: the
computer word. Most operators (e.g. +, -, *, /) treated this
as an integer, but others treated it as a memory address to
be dereferenced.
And linear addresses and addressing has tons of advantages. Macroarchitecture obviously deal well with word-sized linear addresses and there's all sorts of neat speed up tricks the microarchitecture can use when the word-size can address as much or more than the memory port interface, address lines, cache address lines, TLBs, etc.