1{-# LANGUAGE RankNTypes #-}
2module GenericTree where
3
4import Data.Typeable
5
6dynRep :: (Typeable a) => a -> (TypeRep, forall b. (Typeable b) => b -> (Maybe b))
7dynRep a = (typeOf a, \_ -> cast a)
8