Some prototyping

- Common defunctionalization code added in Data.Singletons.TH
- A bit of test code written by hand
- Partial implementation of function that generates type level symbols