## Why doesn't subtyping via existentials and constraints work?

I've been trying to see how Haskell copes with subtyping so I came up with the following snippet:
{-# LANGUAGE RankNTypes #-}
f1 :: () -> Int
f1 _ = 5
f2 :: () -> (forall a. Integral a => a)
f2 = f1
The line f2 = f1 fails with an unexpe...

more
»