We use recursion to abstract the super-class, which means everything can be treated as an Object and recursion over the structure is handled by polymorphism.

could be or .