Even back then the unix abstractions were breaking down.<p>The problem with lseek is pretty simple: how do you know if a file size is bigger than your int? You can do a stat, but that means stat should return a long, but if all you have are ints then what do you do? Make a signed negative value an offset off of the end of an int?<p>These little problems exist everywhere in the bowels of stuff, and they're sort of fun design problems to think about.<p>And the problem is that these were small machines, where everything counts. There was no point wasting some bytes and cycles with typeof metadata.