A pretty good article. Would be a great article if they used real world examples instead of made up "formulated" ones.
I agree with you that the article would have been improved if they'd used real-world examples, e.g. a ContactMethod type that has Address or PhoneNumber or something like that.