I was programming in C# and someone had changed the name of out parameter. It ended breaking nearly 18 projects that used the parameter. The design choice looks so harmless; but when one thinks deeply from programming perspective using coupling as the measure - the aha moment suddenly arrives. One suddenly gains appreciation for the thinking of the guys who designed Java with so many intelligent and elegant choices. So many languages have come after that; but most fail to understand the spirit and even fail in copying the form.