>> >> Making size_t signed would have consequences that are largely unknown. > > Why .length cannot return a signed integer (not size_t) by default? What if you're working in 32-bit mode and want to open a 3GB memory-mapped file? Then you will also need an unsignedLength property.