added symUse :: c -> x -> y
added Data and Typeable instances