Is it possible to write extractT?
{-# LANGUAGE ExistentialQuantification #-}
import Data.Proxy
data T = forall t. Show t => T (Proxy t)
extractT :: Proxy T -> T
extractT p = ...
I have tried
extractT p = T $ p >>= \(T t) -> t
but it does not work.