Sam Ruby seems worried that I am mad at him, saying "The (hopefully friendly?) banter continues.". All absolutely friendly disagreement for sure. ;)
And then he says in reaction to my reaction on ALTER TABLE: "Hmmm. Somebody told me that the "X" in XML stood for eXtensible too. All I ask is that you just keep an open mind, and let me make my case.".
Will do. Just keep in mind that the "L" in XML stands for "Language" and that it is an "extensible language", not an "extensible document instance format". You define languages and use them. If you unilaterally decide to arbitrarily change the language rules or mix them, that's not good. For me "Harumpf" wasn't in the vocabulary, so I had to look it up elsewhere and since the definition wasn't clear, I had to make a guess on what you meant. The Hauptproblem with dieser Sache is dat ik niet einfach the language change kann as I wünsche, weil uw niets mehr understand würdest. (If you know what I mean).
The true gem in what you've written yesterday: "As to your example, there is no question that two "customer" entites that are semantically different should be modelled separately". Modeled differently, identified differently, even if both classes look exactly alike. You can't steal someone else's class, if that could get you in trouble later. Two namespaces. Thanks, Sam, that's exactly what I say.