I get why you say they&#x27;re evil, but their existence meant that moving from Win16 to Win32 to Win64 with minimal code changes was actually feasible without major rewrites. If those had instead been e.g. &quot;static pascal MCIWndProc16(unsigned, unsigned, unsigned, long)&quot;, then you&#x27;d have had issues with some of those transitions. (In fact, you kind of did going from 32 to 64 bit, which is why &quot;long&quot; in Win64 is still 32 bits.)