{-# LANGUAGE ExistentialQuantification #-}
import qualified Data.Map as M
data Elem = forall e. Show e => Elem e
instance Show Elem where
show (Elem e) = "Elem " ++ show e
type HMap = M.Map String Elem
myMap = M.fromList [("a", Elem "a"), ("b", Elem 1), ("c", Elem [1,2,3])]
main = print (M.lookup "c" myMap)