Embedding System F Type Encodings in Haskell.