Various tweaks to enable type class testing.

Hard coded the equivalent of:

   class Lame a where
     lame :: a

   instance Lame Int where
     lame = 5

And tweaked generalizeType and various other machinery to make something like
this work properly.
Implemented some dictionary cases for prettyCore