Unfortunately, this idea failed because too many early Windows programs knew in the back of their heads what the underlying types were and would unconsciously make decisions like I only need 2 bytes to store a WPARAM, or I can just cast an HWND to an WPARAM, and pass it around it around. (Back in the 16-bit world, a pointer was only 16 bits just like an unsigned int.) So when the first big ste