The ability for Type to be Generics in a function. This means the function allows any type. Example Haskell choose Haskell swap