cannot negate size_t. Only a problem on 32-bit OSes