During the transition from 16 to 32 bit in the 80s, `int` was either 16 or 32 bit. Using the current 64 bit transition nomenclature, I understand there was a pretty even spread of ILP32 and LP32 machines. At the time I believe it was understood that `int` would always follow the register or pointer width for any given architecture and that `long` would remain 32 bit.

Fast forward 25 years, I see that LP64 is pretty mainstream, but until I encountered 64 bit platforms [my discovery of desktop Linux in 2007 :)], I always expected IP64 to be the next logical step.

* Was this (LP64) the expected evolution for 64bit?
* How does the `char` ≤ `short` ≤ `int` ≤ `long` relationship fit into this emerging scheme of fixing an integer type to each platform we leave behind?
* How do these transition schemes relate to the use of (your choice of `{l,u}case`) `WORD`/`DWORD` on various platforms?
* Some areas of Windows still contain `INT` forms that are 16bit. Will Windows grow out of LLP64 or is it too late?
* Why was `int` chosen to be left behind this time, as opposed to during the 32bit transition?