Remove reliance on Data and Typeable