Merge pull request #353 from sonyandy/master

remove use of DataKinds from Tuple and fix kind error
fix for Issue #357

should work with current and future ghc
get hlint capable of ansi cpp for #357

fixing src/Control/Lens/Internal/Reflection.hs for modern cpp let hlint generate a parse error
Merge pull request #358 from MaxDaten/patch-1

fix for Issue #357
not-yet-working Variant type classes