I'm wondering why it isn't common for type systems to allow attributes representing properties of objects, and to allow variables to specify attributes in addition to regular types, and thus demand ...