Yes, I think that's a useful conceptualization. So, worded differently, a slot has name, type, and various constraints. Looked at in this way, there is no issue of dual inheritance.
Elements are type definitions for instances, but there can be no direct instance of a 'type'.
A set of equivClasses define a network of semantic equivalences independent of type. Which means that one can have two instances that fit in a slot, but are based on completely different types, and I question the utility of that. Yes, that is what the current draft says. Maybe facets handle this, but I need to reread the spec verrry sloowwly. I have some trouble undertstanding why the WG wanted equivalent classes.