Unpopular opinion: if a null pointer in high-level programming languages is a billion dollar mistake, then direct access to I/O (input-output) should be a trillion dollar mistake.