// Idea here is that the type variable in the top level type annotation // and the type annotation in the expression should be the same type. id :: a -> a id x = (x :: a) main = id "OK" -- OK