This tutorial explains how polymorphism is implemented under the hood in Haskell using the least technical terms possible. The simplest example of a polymorphic function is the identity function: id :: a -> a id x = x The identity function works on any type of value. For example, I can apply id to an Int or to a String: $ ghci Prelude> id 4 4 Prelude> id "Test" "Test" Under the hood, the id functi