The Generic representation dispatcher for monomorphic types (kind *).
Every structure type and supported datatype should have an instance of
Rep. (No default implementation.)
  Methods    Instances  Generic g => Rep g Unit  Generic g => Rep g Char  Generic g => Rep g Double  Generic g => Rep g Float  Generic g => Rep g Integer  Generic g => Rep g Int  Generic g => Rep g Bool  Generic g => Rep g ()  Rep Read String  Rep Read String  Rep Read ()  Rep Read ()  Rep Show String  Rep Show String  Rep Show ()  Rep Show ()  (Generic g, Rep g a) => Rep g ([] a)  (Generic g, Rep g a) => Rep g (Maybe a)  Rep Read a => Rep Read ([] a)  Rep Read a => Rep Read ([] a)  Rep Show a => Rep Show ([] a)  Rep Show a => Rep Show ([] a)  (Generic g, Rep g a, Rep g b) => Rep g (a :*: b)  (Generic g, Rep g a, Rep g b) => Rep g (a :+: b)  (Generic g, Rep g a, Rep g b) => Rep g (Either a b)  (Generic g, Rep g a, Rep g b) => Rep g ((,) a b)  (Rep Read a, Rep Read b) => Rep Read ((,) a b)  (Rep Read a, Rep Read b) => Rep Read ((,) a b)  (Rep Show a, Rep Show b) => Rep Show ((,) a b)  (Rep Show a, Rep Show b) => Rep Show ((,) a b)  (Generic g, Rep g a, Rep g b, Rep g c) => Rep g ((,,) a b c)  (Rep Read a, Rep Read b, Rep Read c) => Rep Read ((,,) a b c)  (Rep Read a, Rep Read b, Rep Read c) => Rep Read ((,,) a b c)  (Rep Show a, Rep Show b, Rep Show c) => Rep Show ((,,) a b c)  (Rep Show a, Rep Show b, Rep Show c) => Rep Show ((,,) a b c)  (Generic g, Rep g a, Rep g b, Rep g c, Rep g d) => Rep g ((,,,) a b c d)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d) => Rep Read ((,,,) a b c d)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d) => Rep Read ((,,,) a b c d)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d) => Rep Show ((,,,) a b c d)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d) => Rep Show ((,,,) a b c d)  (Generic g, Rep g a, Rep g b, Rep g c, Rep g d, Rep g e) => Rep g ((,,,,) a b c d e)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e) => Rep Read ((,,,,) a b c d e)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e) => Rep Read ((,,,,) a b c d e)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e) => Rep Show ((,,,,) a b c d e)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e) => Rep Show ((,,,,) a b c d e)  (Generic g, Rep g a, Rep g b, Rep g c, Rep g d, Rep g e, Rep g f) => Rep g ((,,,,,) a b c d e f)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e, Rep Read f) => Rep Read ((,,,,,) a b c d e f)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e, Rep Read f) => Rep Read ((,,,,,) a b c d e f)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e, Rep Show f) => Rep Show ((,,,,,) a b c d e f)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e, Rep Show f) => Rep Show ((,,,,,) a b c d e f)  (Generic g, Rep g a, Rep g b, Rep g c, Rep g d, Rep g e, Rep g f, Rep g h) => Rep g ((,,,,,,) a b c d e f h)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e, Rep Read f, Rep Read h) => Rep Read ((,,,,,,) a b c d e f h)  (Rep Read a, Rep Read b, Rep Read c, Rep Read d, Rep Read e, Rep Read f, Rep Read h) => Rep Read ((,,,,,,) a b c d e f h)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e, Rep Show f, Rep Show h) => Rep Show ((,,,,,,) a b c d e f h)  (Rep Show a, Rep Show b, Rep Show c, Rep Show d, Rep Show e, Rep Show f, Rep Show h) => Rep Show ((,,,,,,) a b c d e f h)  Rep (Collect Bool) Bool  Rep (Collect Bool) Bool  Rep (Collect Char) Char  Rep (Collect Char) Char  Rep (Collect Double) Double  Rep (Collect Double) Double  Rep (Collect Float) Float  Rep (Collect Float) Float  Rep (Collect Int) Int  Rep (Collect Int) Int  Rep (Collect Integer) Integer  Rep (Collect Integer) Integer  Rep (Collect ()) ()  Rep (Collect ()) ()  Rep (Collect ([] a)) ([] a)  Rep (Collect ([] a)) ([] a)  Rep (Collect (Maybe a)) (Maybe a)  Rep (Collect (Maybe a)) (Maybe a)  Rep (Collect (Either a b)) (Either a b)  Rep (Collect (Either a b)) (Either a b)  Rep (Collect ((,) a b)) ((,) a b)  Rep (Collect ((,) a b)) ((,) a b)  Rep (Collect ((,,) a b c)) ((,,) a b c)  Rep (Collect ((,,) a b c)) ((,,) a b c)  Rep (Collect ((,,,) a b c d)) ((,,,) a b c d)  Rep (Collect ((,,,) a b c d)) ((,,,) a b c d)  Rep (Collect ((,,,,) a b c d e)) ((,,,,) a b c d e)  Rep (Collect ((,,,,) a b c d e)) ((,,,,) a b c d e)  Rep (Collect ((,,,,,) a b c d e f)) ((,,,,,) a b c d e f)  Rep (Collect ((,,,,,) a b c d e f)) ((,,,,,) a b c d e f)  Rep (Collect ((,,,,,,) a b c d e f h)) ((,,,,,,) a b c d e f h)  Rep (Collect ((,,,,,,) a b c d e f h)) ((,,,,,,) a b c d e f h) 

