Why isn't size a size_t to start with?