First-class polymorphism

From Wikipedia, the free encyclopedia

Also known as impredicative polymorphism. Impredicative polymorphism allows the instantiation of a variable in a type with the type itself.