CompoundKind
virtual compound_type_kind CompoundKind() const = 0;
virtual compound_type_kind CompoundKind() const;
else if (type->CompoundKind() != constraints.SubtypeKind())