{-# LANGUAGE ScopedTypeVariables #-} -- Scoped type variables on pattern bindings -- This should *fail* on GHC 5.02 and lower, -- It's a post-5.02 enhancements to allow them. -- It's an error again in GHC 6.6! module ShouldCompile where f x = let (p::a,q::a) = x in (q::a,p) g a b = let y::a = a in let v :: a v = b in v