Unfortunately even though this was called out as a mistake in 1982, much more modern languages (e.g. C#) are still copying it.
As painful as breaking changes might be, they beat the alternative of dealing with a bad design indefinitely. At least in more modern languages, the type checker usually catches the mistakes caused by this design mistake.