 The existence of the circle–ellipse problem is sometimes used to criticize object-oriented programming.It may also imply that hierarchical taxonomies are difficult to make universal, implying that situational classification systems may be more practical.It is a central tenet of object-oriented analysis and design that subtype polymorphism, which is implemented in most object oriented languages via inheritance, should be used to model object types that are subsets of each other; this is commonly referred to as the is-a relationship.