Extracted Literal to its own module. Added Typeable and Data everywhere in the AST preparing for SYB.