Added result types to all implicit defns.
Generalized (Labelled)Generic to case-class-like types.