Actually I care about undefined behaviour. I have seen already some quite nasty bugs because the compiler can do what ever it wants for UB. I thought it is the same for C. Personally I dislike discussions about code beauty. In my experience people who love to discuss code beauty are similar unproductive like people who thinks tests are useless and spending 50% of your time debugging is normal. ;-) Personally I think const as a contract in interfaces is a very useful information. So if somebody is doing a const cast and is changing the data... And if you want to get philosophical we can exchange our thoughts about pragmatism as an ideology. But I think this is still preferable to the vulgar metaphysics many programmers use in their arguments. ;-) I will follow your advise and patch carray.