> you're forcing the memory allocator to keep track of these sizes when it shouldn't have to
Sounds much safer to me than have every single developer, program or library keep track of those sizes properly... I mean that way it's at least only done in 1 place and done correctly, instead of forcing every developer to suddenly keep track of yet another value