Added result types to all implicit defns.
Generalized (Labelled)Generic to case-class-like types.
Added prism support for product optics. Added non-case-class lazy knot tying test.