GHC 6.6からは、
list :: [forall a. Num a => a] list = [1 :: Int, 1 :: Float, 1 :: Integer]
のようにして多相型のリストをそのまま作ることができるようです。