Polymorphic recursion
Appearance
Polymorphic recursion exists in a data structure when the data structure is recursive, and it uses generics for the recursion, and it is recursing on itself with a different generic type.
In some strongly typed languages, such as C++, polymorphic recursion is difficult to implement because all data types are determined during compilation. Polymorphic recursion causes data types to be infinitely nested, forcing the compiler to throw an error.
Examples
(Bootstrapping Stack goes here)