list type is only allowed for a domain class
added Commutatives class for the future implementation
implemented CommutativeCondition for matching
a tentative support for commutatives given